AC

许诺 · 发布于 2025-08-12 · 浏览 280 回复 0
#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;

}

全部回复 共 0 条

还没有人回复。往下写第一条。

发表回复