liulei626 2008-11-10 19:51:00
点我顶贴
收藏
删除
program AC;
var
a:array[0..21,0..35000] of longint;
b:array[1..21] of longint;
i,j,k,m,n:integer;
begin
readln(n,m);
for i:=1 to m do
read(b[i]);
for i:=0 to 30 do
for j:=0 to 35000 do
a[i,j]:=0;
for i:=1 to m do
for j:=1 to n do
begin
if j<b[i] then a[i,j]:=a[i-1,j] else
if a[i-1,j]>(a[i-1,j-b[i]]+b[i]) then
a[i,j]:=a[i-1,j]
else a[i,j]:=a[i-1,j-b[i]]+b[i];
end;
writeln(a[m,n]);
end.
最后三个输出0