Pagini recente » Cod sursa (job #2050759) | Cod sursa (job #1715175) | Cod sursa (job #1546569) | Cod sursa (job #1282984) | Cod sursa (job #681952)
Cod sursa(job #681952)
var p, c, v, r:array [0..75000] of longint;
i, j, n, m, x, aux, t:longint;
f, g:text;
buf1, buf2:array [1.. 1 shl 17] of char;
function min (fa, fb:longint):longint; begin if fa<fb then min:=fa else min := fb; end;
begin
assign (f, 'ghiozdan.in'); settextbuf (f, buf1); reset (f);
assign (g, 'ghiozdan.out'); settextbuf (g, buf2); rewrite (g);
read (f, n, m);
for i := 1 to n do read (f, v[i]);
for i := 1 to n do for j := i+1 to n do if v[i]<v[j] then
begin
aux:=v[i]; v[i]:=v[j]; v[j]:=aux;
end;
for i := 1 to n do
begin
x:=v[i];
for j := m downto x do
begin
if c[j-x]+x>c[j] then
begin
c[j]:=c[j-x]+x;
p[j]:=i;
end;
end;
end;
t:=0; i:= m;
while v[p[i]] <> 0 do
begin
inc (t);
r[t]:=v[p[i]];
i:=i-v[p[i]];
end;
writeln (g, c[m], ' ', t);
for i := 1 to t do writeln (g, r[i]);
close (f); close (g);
end.