讨论 / 109 70分 不解啊
Sentinel Prome 2015-08-11 18:23:22
点我顶贴 收藏 删除
var b:array[0..5000]of set of 0..255; f:array[0..5000]of longint;

n,m,j,t,w,s,i:longint;

begin

readln(n,m);

for i:=1 to n do

begin

readln(t,w,s);

if s<>0 then

begin

t:=t*s; w:=w*s;

if t<=m then

begin

for j:=m downto t do

if f[j]<f[j-t]+w then

begin

f[j]:=f[j-t]+w;

b[j]:=b[j-t]+[i];

end;

end;

end;

end;

writeln(f[m]);

for i:=1 to 255 do

if i in b[m] then write(i,' ');

end.

查看更多回复
提交回复