Submission #1255339

#TimeUsernameProblemLanguageResultExecution timeMemory
1255339_filya_Cloud Computing (CEOI18_clo)C++20
100 / 100
790 ms3664 KiB
#include<bits/stdc++.h> typedef long long ll; using namespace std; const int C = 1e5; int main() { // ifstream cin("input.txt"); // ofstream cout("output.txt"); ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n; cin >> n; vector<array<int, 3>> items; for (int i = 0; i < n; i++) { int c, f, v; cin >> c >> f >> v; items.push_back({f, c, -v}); } int m; cin >> m; for (int i = 0; i < m; i++) { int c, f, v; cin >> c >> f >> v; items.push_back({f, -c, v}); } sort(items.begin(), items.end()); reverse(items.begin(), items.end()); vector<ll> dp(C + 1, -1e18); dp[0] = 0; for (int i = 0; i < n + m; i++) { vector<ll> ndp(2 * C + 1, -1e18); for (int cc = 0; cc <= C; cc++) { if (dp[cc] == -1e18) continue; ndp[cc] = max(ndp[cc], dp[cc]); if (cc + items[i][1] >= 0) ndp[cc + items[i][1]] = max(ndp[cc + items[i][1]], dp[cc] + items[i][2]); } swap(dp, ndp); } ll ans = 0; for (int cc = 0; cc <= C; cc++) ans = max(ans, dp[cc]); cout << ans << '\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...