Submission #172690

#TimeUsernameProblemLanguageResultExecution timeMemory
172690tselmegkhDivide and conquer (IZhO14_divide)C++14
17 / 100
221 ms4496 KiB
#include<bits/stdc++.h> using namespace std; const int N = 1e5 + 5; int x[N], g[N], d[N]; bool vis[N]; int main(){ int n; cin >> n; for(int i = 1; i <= n; i++){ cin >> x[i] >> g[i] >> d[i]; } long long curenergy = 0, curgold = 0, ans = 0; int r = 0; for(int i = 1; i <= n; i++){ if(i > r){ curenergy += d[i]; curgold += g[i]; r = i; } while(curenergy < x[r] - x[i]){ curenergy -= d[r]; curgold -= g[r]; r--; } while(r + 1 <= n && curenergy + d[r + 1] >= x[r + 1] - x[i]){ curenergy += d[r + 1]; curgold += g[r + 1]; r++; } ans = max(ans, curgold); curenergy -= d[i]; curgold -= g[i]; } cout << ans << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...