Pagini recente » Cod sursa (job #2708845) | Cod sursa (job #1714279) | Cod sursa (job #2014296) | Cod sursa (job #1078631) | Cod sursa (job #481880)
Cod sursa(job #481880)
program ghiozdan;
var f, g:text;
rep, smax, val, poz, i, n, a, x, max:longint;
nr, prov:array[0..75003] of longint;
v:array[0..203] of longint;
begin
assign(f,'ghiozdan.in'); reset(f);
assign(g,'ghiozdan.out'); rewrite(g);
readln(f,n,smax);
for i:=1 to n do
begin
read(f,a);
v[a]:=v[a]+1;
end;
nr[0]:=1;
for x:=200 downto 1 do
if v[x]>0 then
for val:=smax-x downto 0 do
for rep:=1 to v[x] do
begin
if (nr[val]>0) and (val+x*rep<=smax) and (nr[val+x*rep]=0)then
begin
nr[val+x*rep]:=nr[val]+rep;
if max<val+x*rep then
max:=val+x*rep;
prov[val+x*rep]:=x;
end;
if val+x*rep>smax then
break;
end;
writeln(g,max,' ',nr[max]-1);
poz:=max;
while prov[poz]>0 do
begin
writeln(g,prov[poz]);
poz:=poz-prov[poz];
end;
close(f);
close(g);
end.