# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
671832 | 2022-12-14T04:00:16 Z | moday_morning | Divide and conquer (IZhO14_divide) | C++17 | 1 ms | 212 KB |
#include <bits/stdc++.h> #define int long long #define fr first #define sc second #define pb push_back using namespace std; const int INF = 1000000000; void usaco(string s) { freopen((s + ".in").c_str(), "r", stdin); freopen((s + ".out").c_str(), "w", stdout); } void solve() { int n; cin >> n; int x[n+1], g[n+1], d[n+1]; d[0] = 0; g[0] = 0; for (int i = 1; i <= n; i++) { cin >> x[i] >> g[i] >> d[i]; d[i] += d[i-1]; g[i] += g[i-1]; } vector <pair <int, int>> a, b; a.pb({-INF, -INF}); b.pb({-INF, -INF}); for(int i = 1; i <= n; i++) { a.pb({d[i] - x[i], g[i]}); b.pb({d[i-1] - x[i], - g[i-1]}); } sort(a.begin(), a.end()); sort(b.begin(), b.end()); int sb = -INF, res = 0, ans = 0, cnt = 0; for (ans = 1; ans <= n; ans++) { while (cnt+1 <= n && b[cnt+1].fr <= a[ans].fr) { cnt++; sb = max(sb, b[cnt].sc); } res = max(res, a[ans].sc + sb); } cout << res << "\n"; } signed main() { // usaco("triangles"); ios_base::sync_with_stdio(false); cin.tie(NULL); int t = 1; // cin >> t; while (t--) { solve(); } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 0 ms | 212 KB | Output is correct |
3 | Correct | 0 ms | 212 KB | Output is correct |
4 | Correct | 0 ms | 212 KB | Output is correct |
5 | Correct | 1 ms | 212 KB | Output is correct |
6 | Incorrect | 0 ms | 212 KB | Output isn't correct |
7 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 0 ms | 212 KB | Output is correct |
3 | Correct | 0 ms | 212 KB | Output is correct |
4 | Correct | 0 ms | 212 KB | Output is correct |
5 | Correct | 1 ms | 212 KB | Output is correct |
6 | Incorrect | 0 ms | 212 KB | Output isn't correct |
7 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 0 ms | 212 KB | Output is correct |
3 | Correct | 0 ms | 212 KB | Output is correct |
4 | Correct | 0 ms | 212 KB | Output is correct |
5 | Correct | 1 ms | 212 KB | Output is correct |
6 | Incorrect | 0 ms | 212 KB | Output isn't correct |
7 | Halted | 0 ms | 0 KB | - |