AC

许诺  •  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;

}


评论:

请先登录,才能进行评论