This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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 time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |