#include <bits/stdc++.h>
using namespace std;
int n,v;
int x[105][105];
int vv[105];
int w[105];
int s[105];
int main(){
cin>>n>>v;
for(int i=1;i<=n;i++){
cin>>vv[i]>>w[i]>>s[i];
}
for(int i=1;i<=n;i++){
for(int j=1;j<=v;j++){
for(int k=0;k<=s[i];k++){
if(k*vv[i]<=j)
x[i][j]=max(x[i-1][j-k*vv[i]]+k*w[i],x[i][j]);
}
}
}
cout<<x[n][v];
return 0;
}
多重背包问题
最新推荐文章于 2024-09-13 13:21:04 发布