Pagini recente » Cod sursa (job #2235934) | Cod sursa (job #2209671) | Cod sursa (job #2089117) | Cod sursa (job #2443619) | Cod sursa (job #18211)
Cod sursa(job #18211)
var f,g:text;
i,j,n,aux,gmax,k:integer;
gg:longint;
gr,unde,tot,afi:array[1..100]of byte;
procedure scrie(i:integer);
begin
if i<>0 then begin scrie(unde[i]);
inc(k);
afi[k]:=gr[i];
end;
end;
begin
assign(f,'ghiozdan.in');
assign(g,'ghiozdan.out');
reset(f);
rewrite(g);
readln(f,n,gg);
for i:=1 to n do readln(f,gr[i]);
for i:=1 to n-1 do
for j:=i+1 to n do
if gr[i]<gr[j] then begin aux:=gr[i];
gr[i]:=gr[j];
gr[j]:=aux;
end;
for i:=1 to n do begin
tot[i]:=gr[i];
unde[i]:=0;
for j:=i-1 downto 1 do
if(tot[i]+tot[j]<gg)then begin
tot[i]:=tot[i]+gr[j];
if unde[i]=0 then unde[i]:=j;
end;
end;
scrie(n);
writeln(g,tot[n],' ',k);
for i:=1 to k do writeln(g,afi[i]);
close(f);
close(g);
end.