# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
80981 | 2018-10-23T10:35:55 Z | farukkastamonuda | Divide and conquer (IZhO14_divide) | C++14 | 58 ms | 4492 KB |
#include <bits/stdc++.h> #define fi first #define se second #define lo long long #define inf 1000000000 #define md 1000000007 #define li 100005 #define mp make_pair #define pb push_back using namespace std; int n; lo int x[li], g[li], d[li], sume[li], sumg[li], cev; bool check(int val, int beg){ if(x[val] - x[beg] <= sume[val] - sume[beg - 1]) return true; return false; } int main(){ scanf("%d", &n); for(int i = 1; i <= n; i ++){ scanf("%lld %lld %lld", &x[i], &g[i], &d[i]); sume[i] = sume[i - 1] + d[i]; sumg[i] = sumg[i - 1] + g[i]; } for(int i = 1; i <= n; i ++){ int bas = i, son = n; while(bas <= son){ int mid = (bas + son) / 2; if(check(mid, i)) bas = mid + 1; else son = mid - 1; } int bio = max(0, son - 1); bio = min(bio , n); int bis = min(n, son + 1); int orta = max(0, son); orta = min(orta, n); if(check(bio, i)) cev = max(cev, sumg[bio] - sumg[i - 1]); if(check(bis, i)) cev = max(cev, sumg[bis] - sumg[i - 1]); if(check(orta, i)) cev = max(cev, sumg[orta] - sumg[i - 1]); } printf("%lld\n", cev); return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Correct | 2 ms | 488 KB | Output is correct |
3 | Correct | 2 ms | 552 KB | Output is correct |
4 | Correct | 2 ms | 552 KB | Output is correct |
5 | Correct | 2 ms | 552 KB | Output is correct |
6 | Correct | 2 ms | 552 KB | Output is correct |
7 | Correct | 2 ms | 552 KB | Output is correct |
8 | Correct | 2 ms | 552 KB | Output is correct |
9 | Correct | 2 ms | 592 KB | Output is correct |
10 | Correct | 2 ms | 620 KB | Output is correct |
11 | Correct | 2 ms | 620 KB | Output is correct |
12 | Correct | 2 ms | 620 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 620 KB | Output is correct |
2 | Correct | 2 ms | 636 KB | Output is correct |
3 | Incorrect | 2 ms | 636 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 764 KB | Output is correct |
2 | Correct | 6 ms | 1016 KB | Output is correct |
3 | Correct | 7 ms | 1016 KB | Output is correct |
4 | Correct | 25 ms | 2552 KB | Output is correct |
5 | Correct | 33 ms | 2552 KB | Output is correct |
6 | Correct | 58 ms | 4476 KB | Output is correct |
7 | Correct | 49 ms | 4476 KB | Output is correct |
8 | Correct | 47 ms | 4476 KB | Output is correct |
9 | Correct | 46 ms | 4492 KB | Output is correct |
10 | Incorrect | 46 ms | 4492 KB | Output isn't correct |
11 | Halted | 0 ms | 0 KB | - |