宗严 2012-07-12 03:18:00
点我顶贴
收藏
删除
为啥 就跟正确差异一点到底哪错了,还超时 大神帮看看!
var t,m,i,j:integer;
f:array[0..100,0..100] of integer;
tm,v:array[1..100] of integer;
begin
readln(t,m);
for i:=1 to m do read(tm[i],v[i]);
for i:=0 to t do f[0,i]:=0;
for i:=0 to m do f[i,0]:=0;
for i:=1 to m do
for j:=1 to t do begin
f[i,j]:=f[i-1,j;
if (j>=tm[i]) and (f[i-1,j-tm[i]]+v[i]>f[i,j])
then f[i,j]:=f[i-1,j-tm[i]]+v[i] ; ;
end;
writeln(f[m,t]);
readln;
end.