program ex;
var i,j,k,n,m,num,vi,pi,qi:longint;
v,w,v1,w1,v2,w2,p:array[0..100]of longint;
f:array[0..4200]of longint;
begin
fillchar(w1,sizeof(w1),0);
fillchar(v1,sizeof(v1),0);
fillchar(w2,sizeof(w2),0);
fillchar(v2,sizeof(v2),0);
{//num:=0;
readln(m,n);m:=m div 10;
for i:=1 to n do
begin
readln(vi,pi,qi);
if qi=0 then
begin
inc(num);p[i]:=num;
w[num]:=vi div 10;v[num]:=w[num]*pi;
end else
begin
if w1[p[qi]]=0 then
begin
w1[p[qi]]:=vi div 10;v1[p[qi]]:=w1[p[qi]]*pi;
end else
begin
w2[p[qi]]:=vi div 10;v2[p[qi]]:=w2[p[qi]]*pi;
end;
end;
end;//}对主件、附件进行读入和处理
{//for i:=1 to num do
begin
for j:=m downto w[i] do
begin
if f[j-w[i]]+v[i]>f[j] then f[j]:=f[j-w[i]]+v[i];
if (f[j-w[i]-w1[i]]+v[i]+v1[i]>f[j])and(j-w[i]-w1[i]>=0) then f[j]:=f[j-w[i]-w1[i]]+v[i]+v1[i];
if (f[j-w[i]-w2[i]]+v[i]+v2[i]>f[j])and(j-w[i]-w2[i]>=0) then f[j]:=f[j-w[i]-w2[i]]+v[i]+v2[i];
if (f[j-w[i]-w1[i]-w2[i]]+v[i]+v1[i]+v2[i]>f[j])and(j-w[i]-w1[i]-w2[i]>=0) then f[j]:=f[j-w[i]-w1[i]-w2[i]]+v[i]+v1[i]+v2[i];
end;
end;//}动规
write(f[m]*10);
end.
状态: Accepted
测评机: Xeost[5]
得分: 100分 [我要评价一下题目~]
提交日期: 2012-7-21 21:12:00
有效耗时: 1719毫秒
测试结果1: 通过本测试点|有效耗时187ms
测试结果2: 通过本测试点|有效耗时157ms
测试结果3: 通过本测试点|有效耗时172ms
测试结果4: 通过本测试点|有效耗时156ms
测试结果5: 通过本测试点|有效耗时172ms
测试结果6: 通过本测试点|有效耗时172ms
测试结果7: 通过本测试点|有效耗时172ms
测试结果8: 通过本测试点|有效耗时172ms
测试结果9: 通过本测试点|有效耗时187ms
测试结果10: 通过本测试点|有效耗时172ms