Submission #1216361

#TimeUsernameProblemLanguageResultExecution timeMemory
1216361muhammadali_2009Cloud Computing (CEOI18_clo)C++20
100 / 100
1026 ms5176 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

int main() {
    vector<pair<int, pair<int, int>>> ev;
    for (int r = 0; r < 2; ++r) {
        int n;
        cin >> n;
        while (n--) {
            int a, b, c;
            cin >> a >> b >> c;
            if (r == 0) c *= -1;
            else a *= -1;
            ev.push_back({b, {a, c}});
        }
    }
    sort(ev.rbegin(), ev.rend());
    vector<ll> dp{0};
    for (auto& e : ev) {
        vector<ll> ndp = dp;
        for (int i = 0; i < (int)dp.size(); ++i) {
            int j = i + e.second.first;
            ll val = dp[i] + e.second.second;
            if (j >= 0) {
                while ((int)ndp.size() <= j) ndp.push_back(LLONG_MIN / 2);
                ndp[j] = max(ndp[j], val);
            }
        }
        dp = ndp;
    }
    ll res = 0;
    for (ll x : dp) res = max(res, x);
    cout << res << '\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...