Pagini recente » Cod sursa (job #1568014) | Cod sursa (job #19195) | Cod sursa (job #2612461) | Cod sursa (job #416517) | Cod sursa (job #18349)
Cod sursa(job #18349)
program ghiozdan;
var a,b,c,d:array[0..75000]of integer;
n,g,i,j,x:longint;
fin,fout:text;
begin
assign(fin,'ghiozdan.in'); reset(fin);
assign(fout,'ghiozdan.out'); rewrite(fout);
readln(fin,n,g);
a[0]:=0;
for i:=1 to g do begin
b[i]:=-1;
d[i]:=0;
end;
for i:=1 to n do begin
readln(fin,x);
a:=b;
c:=d;
{for j:=0 to x-1 do begin
b[j]:=a[j];
d[j]:=c[j];
end;}
for j:=x to g do begin
if a[j-x]<>-1 then begin b[j]:=a[j-x]+1; d[j]:=x; end
else b[j]:=-1;
if ((a[j]<>-1)and(a[j]<b[j]))or(b[j]=-1) then begin
b[j]:=a[j];
d[j]:=c[j];
end;
end;
end;
for i:= g downto 1 do
if b[i]<>-1 then begin
writeln(fout,i,' ',b[i]);
writeln(fout,d[i]);
x:=i-d[i];
for j:= 1 to b[i]-1 do begin
writeln(fout,c[x]);
x:=x-c[x];
end;
break
end;
close(fin);
close(fout);
end.