#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=1010;
int V[N],W[N],M[N];
int f[N][110][110];
int main(){
int n,v,m;
cin>>n>>v>>m;
for(int i=1;i<=n;i++){
cin>>V[i]>>M[i]>>W[i];
}
for(int i=n;i>=1;i--){
for(int j=0;j<=v;j++){
for(int k=0;k<=m;k++){
if(j<V[i]||k<M[i])
f[i][j][k]=f[i+1][j][k];
else f[i][j][k]=max(f[i+1][j][k],f[i+1][j-V[i]][k-M[i]]+W[i]);
}
}
}
cout<<f[1][v][m];
return 0;
}
AcWing 二维费用的背包问题
最新推荐文章于 2024-07-24 22:13:06 发布