📄 rockers.pas
字号:
{
ID:maigoak1
PROG:rockers
}
program rockers;
const
max=20;
var
fin,fout:text;
len:array[1..max]of byte;
have:array[0..max]of byte;
n,t,m,p,rec,best:byte;
procedure out(x:byte);
begin
assign(fout,'rockers.out');
rewrite(fout);
writeln(fout,x);
close(fout);
halt;
end;
procedure search(l:byte);
begin
if l=n+1 then exit;
search(l+1);
if len[l]>t then exit;
if have[p]+len[l]>t then
if p=m then
exit
else begin
inc(p);
have[p]:=len[l];
end
else
inc(have[p],len[l]);
inc(rec);
if rec=n then out(n);
if rec>best then best:=rec;
search(l+1);
dec(rec);
if have[p]=len[l] then
dec(p)
else
dec(have[p],len[l]);
end;
begin
assign(fin,'rockers.in');
reset(fin);
readln(fin,n,t,m);
for p:=1 to n do
read(fin,len[p]);
close(fin);
best:=0;
p:=0;
have[0]:=t;
rec:=0;
search(1);
out(best);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -