2892021-07-05 17:14:16k_balintBefektetéscpp14Elfogadva 40/4012ms2992 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,pair<ll,int>> pii;
int n,k;

ll dp[4005];
ll ans = 0;
pii t[4005];

bool cmp(pii a, pii b){
    return a.second.second > b.second.second;
}


int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    cin >> n >> k;
    for(int i = 1; i <= n; i++){
        int a,c; ll b; cin >> a >> b >> c;
        t[i] = make_pair(a,make_pair(b,c));
    }
    sort(t + 1, t + n + 1,cmp);

    for(int i = 1; i <= n; i++){
        int a = t[i].first;
        ll b = t[i].second.first;
        int c = t[i].second.second;
        for(int j = k - a; j > 0; j--){
            if(dp[j] != 0){
                dp[j + a] = max(dp[j + a],dp[j] + b);
                ans = max(ans,dp[j + a]);
            }
        }
        if(c + a <= k){
            dp[c + a] = max(dp[c + a],b);
            ans = max(ans,dp[c + a]);
        }
    }
    cout << ans << endl;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base40/40
1Elfogadva0/02ms2024 KiB
2Elfogadva0/02ms2104 KiB
3Elfogadva2/21ms2132 KiB
4Elfogadva2/21ms2144 KiB
5Elfogadva1/11ms2176 KiB
6Elfogadva2/22ms2168 KiB
7Elfogadva2/22ms2192 KiB
8Elfogadva2/22ms2168 KiB
9Elfogadva2/21ms2172 KiB
10Elfogadva2/21ms2176 KiB
11Elfogadva3/34ms2364 KiB
12Elfogadva3/34ms2348 KiB
13Elfogadva3/34ms2412 KiB
14Elfogadva3/34ms2444 KiB
15Elfogadva3/34ms2436 KiB
16Elfogadva4/44ms2432 KiB
17Elfogadva1/112ms2684 KiB
18Elfogadva1/112ms2724 KiB
19Elfogadva1/112ms2792 KiB
20Elfogadva1/112ms2848 KiB
21Elfogadva1/112ms2924 KiB
22Elfogadva1/112ms2992 KiB