Pagini recente » Cod sursa (job #2572714) | Cod sursa (job #2702046) | Cod sursa (job #1789989) | Cod sursa (job #1493940) | Cod sursa (job #120876)
Cod sursa(job #120876)
type
vevtor=array[1..1000] of 1..50000;
vector2=array[1..50000] of 0..1;
var n:integer;
v,sol:vevtor;
v2:vector2;
i,j,x,k,kkt,aux,s:integer;
f,g:text;
ok:boolean;
y:1..50000;
begin
assign(f,'economie.in'); assign(g,'economie.out');
reset(f); rewrite(g);
readln(f,n);
for y:=1 to 50000 do v2[i]:=0;
for i:=1 to n do
readln(f,v[i]);
while ok do
for i:=1 to n-1 do
begin
ok:=false;
if v[i]>v[i+1] then begin ok:=true; aux:=v[i]; v[i]:=v[i+1]; v[i+1]:=aux;end;
end;
kkt:=v[n]; s:=1; sol[s]:=v[1]; s:=2; x:=v[1];
for j:=x to (kkt div v[1]) do
v2[j*v[1]]:=1;
for i:=2 to n do
begin
if v2[v[i]]=0 then
begin
sol[s]:=v[i];
inc(s);
for j:=x to (kkt div v[i]) do
begin
v2[j*v[i]]:=1;
for k:=x to kkt-(v[i]+x) do
if v2[k]<>0 then
v2[v[i]+k]:=1;
end;
end;
end;
writeln(g,s-1);
for i:=1 to s-1 do
writeln(g,sol[i]);
close(f); close(g);
end.