Submission #1280604

#TimeUsernameProblemLanguageResultExecution timeMemory
1280604njoopCloud Computing (CEOI18_clo)C++20
0 / 100
74 ms2056 KiB
#include <bits/stdc++.h> #define int long long using namespace std; vector<tuple<int, int, int>> t; int dp[2][100010]; signed main() { cin.tie(0)->sync_with_stdio(0); int n, m; cin >> n; for(int i=1; i<=n; i++) { int c, f, v; cin >> c >> f >> v; t.push_back({-f, c, -v}); } cin >> m; for(int i=1; i<=m; i++) { int c, f, v; cin >> c >> f >> v; t.push_back({-f, -c, v}); } sort(t.begin(), t.end()); for(int i=0; i<100010; i++) { dp[0][i] = -1e18; dp[1][i] = -1e18; } dp[0][0] = 0; int prev=0, cur=1; for(auto i: t) { int c = get<1>(i), v = get<2>(i); for(int j=0; j<100010; j++) { if(j+c >= 100001 || j+c < 0) continue; dp[cur][j+c] = max({dp[cur][j+c], dp[prev][j]+v, dp[prev][j+c]}); } swap(prev, cur); } int ans = 0; swap(prev, cur); for(int i=0; i<100010; i++) { ans = max(ans, dp[cur][i]); } cout << ans; 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...