Cod sursa(job #120307)

Utilizator StigmaSimina Pitur Stigma Data 4 ianuarie 2008 21:14:11
Problema Economie Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.73 kb
var f,g:text;
i,n:1..1000;
k,j:0..50000;
a:array[1..1000] of 1..50000;
s:array[0..50000] of -1..1;
sw:boolean;
begin
assign(f,'economie.in');reset(f);
assign(g,'economie.out');rewrite(g);
readln(f,n);
for i:=1 to n do
read(f,a[i]);

sw:=false;
repeat
sw:=true;
for i:=1 to n-1 do
if a[i]>a[i+1] then
begin
sw:=false;
j:=a[i];a[i]:=a[i+1];a[i+1]:=j;
end;
until sw;
k:=0;
if a[1]=1 then begin
writeln(g,'1');write(g,'1');
end
else
begin
s[0]:=1;
for i:=1 to n do
begin
if s[a[i]]=0 then
begin
k:=k+1;
s[a[i]]:=-1;
end;
for j:=0 to a[n] do
if ((s[j]=1) or (s[j]=-1)) and (s[j+a[i]]<>-1) then s[j+a[i]]:=1;
end;
writeln(g,k);
for i:=1 to n do
if s[a[i]]=-1 then
write(g,a[i],' ');
end;
close(g);
end.