32792023-02-23 17:32:09zsomborBefektetéscpp17Accepted 40/4014ms4752 KiB
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

struct haz {
    int p, v, t;
};

int n, k, ans = 0;
vector <haz> v;
vector <int> dp(5e3, 0);

bool r(haz a, haz b) {
    return (a.t < b.t ? true : false);
}

int main()
{
    cin >> n >> k;
    v.resize(n);
    for (haz& h : v) cin >> h.p >> h.v >> h.t;
    sort(v.begin(), v.end(), r);
    for (haz& h : v) {
        for (int i = k - h.t; i >= h.p; i--) {
            dp[i] = max(dp[i], dp[i - h.p] + h.v);
            ans = max(ans, dp[i]);
        }
    }
    cout << ans;
}
SubtaskSumTestVerdictTimeMemory
base40/40
1Accepted0/03ms1896 KiB
2Accepted0/04ms2100 KiB
3Accepted2/23ms2300 KiB
4Accepted2/23ms2512 KiB
5Accepted1/13ms2600 KiB
6Accepted2/23ms2720 KiB
7Accepted2/23ms2936 KiB
8Accepted2/23ms3016 KiB
9Accepted2/23ms3160 KiB
10Accepted2/23ms3368 KiB
11Accepted3/37ms3748 KiB
12Accepted3/36ms4080 KiB
13Accepted3/37ms4296 KiB
14Accepted3/37ms4372 KiB
15Accepted3/37ms4344 KiB
16Accepted4/47ms4384 KiB
17Accepted1/114ms4468 KiB
18Accepted1/114ms4404 KiB
19Accepted1/114ms4396 KiB
20Accepted1/114ms4584 KiB
21Accepted1/114ms4500 KiB
22Accepted1/114ms4752 KiB