题解
2023-06-04 13:23:48
发布于:上海
21阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int v[5005];
int w[5005];
int cnt = 0;
int dp[6005];
int m,n;
int main(){
cin>>n>>m;
for(int i = 1;i<=n;i++){
int vv,ww,s;
cin>>vv>>ww>>s;
for(int j = 1;j<=s;j++){
cnt++;
v[cnt] = vv;
w[cnt] = ww;
}
}
for(int i = 1;i<=cnt;i++){
for(int j = m;j>=v[i];j--){
dp[j] = max(dp[j],dp[j-v[i]]+w[i]);
}
}
cout<<dp[m];
return 0;
}
这里空空如也
有帮助,赞一个