Pagini recente » Cod sursa (job #347743) | Cod sursa (job #563085) | Cod sursa (job #937068) | Cod sursa (job #437028) | Cod sursa (job #120983)
Cod sursa(job #120983)
{type vevtor=array[1..1000] of 1..50000;
vector2=array[1..50000] of 0..1;
}
var
v,sol:array[1..1000] of 1..50000;
v2:array[1..50000] of 0..1;
y, i,j,x,k,kkt,aux,s,n,w,ww,www:longint;
f,g:text;
ok:boolean;
begin
assign(f,'economie.in'); assign(g,'economie.out');
reset(f); rewrite(g);
readln(f,n);
for y:=1 to 50000 do v2[y]:=0;
for i:=1 to n do
begin
readln(f,v[i]);
end;
ok:=true;
while ok do
begin
ok:=false;
for i:=1 to n-1 do
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[1]:=v[1]; s:=2; x:=v[1];
w:=kkt div v[1];
for j:=x to w do
v2[j*v[1]]:=1;
for i:=2 to n do
if v2[v[i]]=0 then
begin
sol[s]:=v[i];
inc(s);
ww:=kkt div v[i];
for j:=x to ww do
begin
v2[j*v[i]]:=1;
www:=kkt-(v[i]+x);
for k:=x to www do
if v2[k]<>0 then
v2[v[i]+k]:=1;
end;
end;
writeln(g,s-1);
for i:=1 to s-1 do
writeln(g,sol[i]);
close(f); close(g);
end.