许诺 • 7天前
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std; int main() {
int N, M, X;
cin >> N >> M >> X;
vector<int> A(N), B(N), C(N);
for (int i = 0; i < N; ++i) {
cin >> A[i] >> B[i] >> C[i];
}
vector<vector<int>> dp(M + 1, vector<int>(X + 1, 0));
for (int i = 0; i < N; ++i) {
int a = A[i], b = B[i], c = C[i];
for (int j = M; j >= b; --j) {
for (int k = X; k >= c; --k) {
if (dp[j - b][k - c] + a > dp[j][k]) {
dp[j][k] = dp[j - b][k - c] + a;
}
}
}
}
cout << dp[M][X] << endl;
return 0;
}
评论:
请先登录,才能进行评论