Pagini recente » Cod sursa (job #3236545) | Cod sursa (job #44020) | Cod sursa (job #418755) | Cod sursa (job #499404) | Cod sursa (job #18163)
Cod sursa(job #18163)
var f,g:text;
i,j,n,aux,gmax,gg,k:integer;
gr,unde,tot,afi:array[1..100]of integer;
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.