1. #include <iostream>
    2. using namespace std;
    3. class Solver {
    4. // 体积重量都有限制
    5. // 还是一样,一个物体只可能选或者不选
    6. static const int MAXN = 100 + 5;
    7. int dp[MAXN][MAXN] = {};
    8. int V, M;
    9. void zeroOnePack(int v, int m, int w) {
    10. for (int i = V; i >= v; i--)
    11. for (int j = M; j >= m; j--)
    12. dp[i][j] = max(dp[i][j], dp[i - v][j - m] + w);
    13. }
    14. public:
    15. void f() {
    16. int N;
    17. cin >> N >> V >> M;
    18. int v, m, w;
    19. while (N--) {
    20. cin >> v >> m >> w;
    21. zeroOnePack(v, m, w);
    22. }
    23. cout << dp[V][M] << endl;
    24. }
    25. };
    26. int main() {
    27. Solver s;
    28. s.f();
    29. }