Submission #893392

#TimeUsernameProblemLanguageResultExecution timeMemory
893392AI_2512Divide and conquer (IZhO14_divide)C++17
0 / 100
1 ms348 KiB
#include <bits/stdc++.h> using namespace std; #define form(mt) for(auto vec:mt){for (auto el:vec){cout << el << " ";} cout << "\n";} #define forv(vec) for (auto el:vec){cout <<el.second << " ";} 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; right++; }else{ maxx = max(sumg,maxx); sumg-=vec[left].g; sume-=vec[left].e; if (left>right){ right = left; } 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...