Код
{$A+,B-,D-,E+,F-,G-,I-,L-,N-,O-,P-,Q-,R-,S-,T-,V+,X+}
{$M 16384,0,655360}
program minnemogu;
const Max_Chislo=1000;
var i,j,n:word;
a:array[1..64000]of byte;
x:word;
l:longint;
Max_Summa:word;
begin
fillchar(a,sizeof(a),0);
read(n);
Max_Summa:=0;
for i:=1 to n do
begin
read(x);
Max_Summa:=Max_Summa+x;
a[x]:=a[x]+1;
end;
for i:=0 to Max_Summa-1 do
begin
if a[i]>1 then
begin
l:=longint(i)+j;
if l<=Max_Summa then a[l]:=a[l]+1;
end;
for j:=i+1 to Max_Summa do
if (a[i]>0) and (a[j]>0) then
begin
l:=longint(i)+j;
if l<=Max_Summa then a[l]:=a[l]+1;
end;
{ writeln(i);}
end;
for i:=1 to Max_Summa+1 do
if a[i]=0 then break;
writeln(i);
readln;
end.
Вот вроде должно работать.