Cod sursa(job #18349)

Utilizator robert_dDragan Robert robert_d Data 18 februarie 2007 11:42:11
Problema Ghiozdan Scor 38
Compilator fpc Status done
Runda preONI 2007, Runda 2, Clasele 11-12 Marime 1.37 kb
program ghiozdan;
var a,b,c,d:array[0..75000]of integer;
    n,g,i,j,x:longint;
    fin,fout:text;

begin
assign(fin,'ghiozdan.in'); reset(fin);
assign(fout,'ghiozdan.out'); rewrite(fout);
readln(fin,n,g);

a[0]:=0;
for i:=1 to g do begin
                 b[i]:=-1;
                 d[i]:=0;
                 end;

for i:=1 to n do begin
    readln(fin,x);

    a:=b;
    c:=d;

    {for j:=0 to x-1 do begin
                       b[j]:=a[j];
                       d[j]:=c[j];
                       end;}

    for j:=x to g do begin
        if a[j-x]<>-1 then begin b[j]:=a[j-x]+1; d[j]:=x; end
                      else b[j]:=-1;
        if ((a[j]<>-1)and(a[j]<b[j]))or(b[j]=-1) then begin
                                                 b[j]:=a[j];
                                                 d[j]:=c[j];
                                                 end;
   end;

end;

for i:= g downto 1 do
    if b[i]<>-1 then begin
                     writeln(fout,i,' ',b[i]);
                     writeln(fout,d[i]);
                     x:=i-d[i];
                     for j:= 1 to b[i]-1 do begin
                                          writeln(fout,c[x]);
                                          x:=x-c[x];
                                          end;
                     break
                     end;
close(fin);
close(fout);


end.