求大佬帮帮, 只有20分。
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 1e3 + 10;
int n, x;
int w1[N], w2[N], v[N];
int dp[N][N];
int main(){
cin >> n >> x;
for(int i = 1;i <= n;i++) cin >> w1[i] >> w2[i] >> v[i];
for(int i = 1;i <= n;i++)
for(int j = 0;j <= x;j++){
dp[i][j] = dp[i - 1][j];
if(j >= v[i]){
dp[i][j] = max(dp[i][j], dp[i - 1][j - v[i]] + w2[i]);
for(int k = 0;k < v[i];k++) dp[i][j] = max(dp[i][j], dp[i - 1][j - k] + w1[i]);
}
}
cout << 5 * dp[n][x] << endl;
return 0;
}