x_p 2008-11-13 04:14:00
点我顶贴
收藏
删除
为什么有3个点错误
var
num,s,a,m,n,i,j,k,p,v,max:longint;
f:array[0..100000]of longint;
t:array[0..100000]of boolean;
begin
readln(m,v);
t[0]:=true;
for i:=1 to m do
begin
readln(num,s,a);
for p:=1 to num do
for j:=v downto s*p do
if (t[j-s*p])and(f[j-s*p]+a*p>f[j])then
begin f[j]:=f[j-s*p]+a*p;t[j]:=true;if f[j]>max then max:=f[j];end;
end;
writeln(max);
end.