PersonalCorpus 版 (精华区)
153620 04:27:19 4 Mar 2002
Bozhang,HIT,P.R.China 1005 Pascal Accepted 0.03 sec 69K
var
w:array[1..20] of integer;
s,t:array[0..2048] of integer;
res,i,j,k,l,r,n:integer;
sk,sl,tk,tl:integer;
begin
read(n);
for i:=1 to n do begin
while eoln(input) do readln;
read(w[i]);
end;
if n=1 then begin writeln(w[1]); halt end;
k:=0; l:=0;
for i:=1 to n div 2 do begin
r:=l;
for j:=k to l do begin
inc(r);s[r]:=abs(s[j]+w[i]);
inc(r);s[r]:=abs(s[j]-w[i]);
end;
k:=l+1; l:=r;
end;
sk:=k; sl:=l;
k:=0; l:=0;
for i:=(n div 2)+1 to n do begin
r:=l;
for j:=k to l do begin
inc(r);t[r]:=abs(t[j]+w[i]);
inc(r);t[r]:=abs(t[j]-w[i]);
end;
k:=l+1; l:=r;
end;
tk:=k; tl:=l; res:=maxint;
for i:=sk to sl do
for j:=tk to tl do begin
k:=abs(s[i]-t[j]); if k<res then res:=k;
end;
writeln(res);
end.
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.532毫秒