Cod sursa(job #109844)

Utilizator borsosborsos adrian borsos Data 25 noiembrie 2007 12:49:37
Problema Economie Scor 0
Compilator fpc Status done
Runda preONI 2008, Runda 1, Clasa a 9-a Marime 1.32 kb
var f,g:text;
    st:array[1..1000] of integer;
    i,j,n,x,poz,a:longint;
begin
assign(f,'economie.in'); reset(f);
assign(g,'economie.out'); rewrite(g);
readln(f,n);
poz:=0;
for i := 1 to n do begin
            readln(f,a);
            x:=a;
            if poz <> 0 then begin
               for j := poz downto 1 do begin
                         while x-st[j] >= 0 do
                                   x:=x-st[j];

                         if x <= 0 then begin
                            if (x<0) and (j = 1) then begin
                                     inc(poz);
                                     st[poz]:=a;
                                     break;
                                     end;

                            if x=0 then break;
                                        end else if (x>0) then
                                             if j=1 then  begin
                                                     inc(poz);
                                                     st[poz]:=a;
                                                              end;


                                     end;
                              end else
             begin inc(poz); st[poz]:=a; end;
                   end;
writeln(g,poz);
for i := 1 to poz do writeln(g,st[i]);
close(f);
close(g);
end.