Submission #893460

#TimeUsernameProblemLanguageResultExecution timeMemory
893460AI_2512Divide and conquer (IZhO14_divide)C++17
0 / 100
0 ms348 KiB
#include <bits/stdc++.h> using namespace std; struct camp{ long long x, g, e; }; signed main() { long long n, maxx = 0, sumx = 0, sumg= 0, sume = 0, left = 0, right = 0; cin >> n; vector<camp> vec(n); for (int i = 0; i< n; i++) { cin >> vec[i].x >> vec[i].g >> vec[i].e; } while (left <=n-1){ sumx = vec[right].x-vec[left].x; sume +=vec[right].e; if(sume>=sumx && right<n-1){ sumg += vec[right].g; maxx = max(sumg,maxx); right++; }else{ sumg-=vec[left].g; maxx = max(sumg,maxx); sume-=vec[left].e; sume-=vec[right].e; left++; if (left>right){ sume+=vec[right].e; right = left; } } sume = abs(sume); sumg = abs(sumg); sumx = abs(sumx); } maxx = max(sumg,maxx); cout << maxx; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...