203832026-01-06 17:22:28CzDaniBefektetéscpp17Accepted 40/4024ms560 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define pii pair<int, int>
#define fi first
#define se second

signed main() {
	int n, k;
    cin >> n >> k;
    vector<pii> v(n);
    vector<int> va(n+1), vb(n+1);
    for (int i = 1; i <= n; i++) {
        cin >> va[i] >> vb[i] >> v[i-1].fi;
        v[i-1].se=i;
    }
    sort(v.begin(), v.end());
    int maxi = 0;
    vector<int> dp(k+1);
    for (auto [c, i] : v) {
        int a = va[i], b = vb[i];
        for (int j = k; j >= a; j--) {
            dp[j]=max(dp[j],dp[j-a]+b);
            if (j<=k-c)maxi=max(maxi,dp[j]);
        }
    }
    cout<<maxi;
}
SubtaskSumTestVerdictTimeMemory
base40/40
1Accepted0/01ms316 KiB
2Accepted0/03ms500 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms316 KiB
5Accepted1/11ms364 KiB
6Accepted2/21ms400 KiB
7Accepted2/21ms316 KiB
8Accepted2/21ms412 KiB
9Accepted2/21ms324 KiB
10Accepted2/21ms316 KiB
11Accepted3/38ms460 KiB
12Accepted3/37ms472 KiB
13Accepted3/38ms316 KiB
14Accepted3/38ms500 KiB
15Accepted3/38ms472 KiB
16Accepted4/47ms316 KiB
17Accepted1/124ms552 KiB
18Accepted1/124ms560 KiB
19Accepted1/124ms552 KiB
20Accepted1/124ms556 KiB
21Accepted1/124ms552 KiB
22Accepted1/124ms548 KiB