题解
2025-08-12 14:36:03
发布于:广东
0阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int v[10010],w[10010];
int cnt = 0;
long long dp[10010];
int main(){
int m,n;
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;
}
这里空空如也
有帮助,赞一个