Submission #681436

#TimeUsernameProblemLanguageResultExecution timeMemory
681436boykutDivide and conquer (IZhO14_divide)C++14
48 / 100
1062 ms5816 KiB
#include <bits/stdc++.h>

using namespace std;

const int N = 100100;
int x[N], g[N], e[N];
long long pe[N], pg[N];

int main() {
  int n;
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> x[i] >> g[i] >> e[i];
    pg[i] = pg[i-1]+g[i];
    pe[i] = pe[i-1]+e[i];
  }
  long long ans = 0;
  for (int r = 1; r <= n; r++) {
    long long mn = LLONG_MAX;
    for (int l = 1; l <= r; l++) {
      if (x[r]-pe[r] <= x[l]-pe[l-1]) {
        mn = pg[l-1];
        break;
      }
    }
    if (mn != LLONG_MAX)
      ans = max(ans, pg[r]-mn);
  }
  cout << ans << "\n";
  return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...