Cod sursa(job #18211)

Utilizator NiteloserPopescu Andrei-Alin Niteloser Data 18 februarie 2007 10:41:54
Problema Ghiozdan Scor 10
Compilator fpc Status done
Runda preONI 2007, Runda 2, Clasele 11-12 Marime 0.93 kb
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.