Submission #1276554

#TimeUsernameProblemLanguageResultExecution timeMemory
1276554eliminator_101Cloud Computing (CEOI18_clo)C++20
100 / 100
230 ms1412 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; const ll MAX = 100005, MOD = 998244353; ll t = 1, n, m, c, f, v, mx; vector<pair<ll, pair<ll, ll>>> vec; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); //cin >>t; while(t--) { cin >> n; for (int i = 0; i < n; i++) { cin >> c >> f >> v; vec.push_back({f, {c, -v}}); } cin >> m; for (int i= 0; i < m; i++) { cin >> c >> f>>v; vec.push_back({f, {-c, v}}); } sort(vec.begin(), vec.end()); reverse(vec.begin(), vec.end()); vector<ll> dp(MAX+1, -1e17); dp[0] = 0; mx = 0; for (auto[fi, p]:vec) { auto[ci, vi] = p; if (vi<0) { // increasing cores for (int i = MAX; i >= ci; i--) { dp[i] = max(dp[i], dp[i-ci]+vi); } }else { // decreasing cores for (int i = 0; i <= MAX+ci; i++) { dp[i] = max(dp[i], dp[i-ci]+vi); } } } for (int i = 0; i <= MAX; i++) { mx = max(mx, dp[i]); } cout << mx << endl; } return 0; }
#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...