ivanovliu 2010-08-11 06:51:00
点我顶贴
收藏
删除
我的程序如下:
VAR
f,a:ARRAY[0..10001] OF LONGINT;
n,i,j,k,m,s:LONGINT;
x:REAL;
BEGIN
for i:=0 to 10001 do
begin
f[i]:=0;
a[i]:=0;
end;
readln(n);
for i:=1 to n do
read(a[i]);
s:=0;
for i:=1 to n do
s:=s+a[i];
x:=s/2;
s:=trunc(s/2)+1;
for i:=1 to n do
for j:=s downto a[i] do
if f[j-a[i]]+a[i]>f[j] then
f[j]:=f[j-a[i]]+a[i];
m:=trunc(2*(abs(x-f[s])));
writeln(m);
END.