1qaz2wsx 2013-05-06 07:12:00
点我顶贴
收藏
删除
var i,j,k,max,n,v:longint;
m,w,s:array [1..50000] of longint;
c:array [1..50000] of longint;
begin
read(n,v);
for i:=1 to n do read(m[i],w[i],s[i]);
for i:=1 to n do begin
if (v div w[i])<m[i] then m[i]:=v div w[i];
for j:=1 to m[i] do
for k:=v downto w[i] do
if c[k-w[i]]+s[i]>c[k] then c[k]:=c[k-w[i]]+s[i];
end;
for i:=1 to v do if c[i]>max then max:=c[i];
write(max);
end.