Submission #893428

# Submission time Handle Problem Language Result Execution time Memory
893428 2023-12-27T04:47:31 Z AI_2512 Divide and conquer (IZhO14_divide) C++17
0 / 100
0 ms 360 KB
#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 <=right){
    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 time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Incorrect 0 ms 360 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Incorrect 0 ms 360 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Incorrect 0 ms 360 KB Output isn't correct
3 Halted 0 ms 0 KB -