Submission #172669

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