Cod sursa(job #682784)

Utilizator andreifirstCioara Andrei Ioan andreifirst Data 19 februarie 2012 15:05:40
Problema Economie Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.67 kb
var v:array [0.. 50000] of boolean;
    r, w:array [0..1000] of longint;
    i, j, n, m, t, x, aux :longint;
    f, g:text;

begin
assign (f, 'economie.in'); reset (f);
assign (g, 'economie.out'); rewrite (g);

read (f, n); for i := 1 to n do read (f, w[i]);

for i := 1 to n do for j := i+1 to n do if w[i]>w[j] then begin aux:=w[i]; w[i]:=w[j]; w[j]:=aux; end;


for i := 1 to n do
  begin
  x:=w[i];
  if v[x]=false then
    begin
    inc (t); r[t]:=x;
    v[x]:=true;
    for j := x to w[n] do
      begin
      if v[j-x]=true then v[j]:=true;
      end;
    end;
  end;

writeln (g, t);
for i := 1 to t do writeln (g, r[i]);

close (f); close (g);
end.