Pagini recente » Cod sursa (job #2887820) | Cod sursa (job #1097210) | Cod sursa (job #2358622) | Cod sursa (job #1958011) | Cod sursa (job #694315)
Cod sursa(job #694315)
var p, v:array [0..75000] of longint;
r:array[1..20000] of longint;
max, i, j, n, m, x, t, k:longint;
buf1, buf2:array [1.. 1 shl 17] of char;
f, g:text;
begin
assign (f, 'ghiozdan.in'); settextbuf (f, buf1); reset (f);
assign (g, 'ghiozdan.out'); settextbuf (g, buf2); rewrite (g);
read (f, n, m);
max:=0;
for i := 1 to m do v[i]:=maxlongint;
for i := 1 to n do
begin
readln (f, x);
for j := max downto 0 do
begin
if (v[j]<>maxlongint) and (j+x<=m) and (v[j]+1<v[j+x]) then
begin
v[j+x]:=v[j]+1;
p[j+x]:=j;
if j+x>=max then
begin
max:=j+x;
k:=max; t:=0;
while k <> 0 do
begin
inc (t);
r[t]:=k-p[k];
k:=p[k];
end;
end;
end;
end;
end;
writeln (g, max, ' ', v[max]);
for i := 1 to t do writeln (g, r[i]);
close (f); close (g);
end.