#include<bits/stdc++.h>
#define int long long
using namespace std;
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
long long g[n], d[n], x[n], pmax[n];
for (int i = 0, _g, _d; i < n; i++) {
cin >> x[i] >> _g >> _d;
g[i] = (i ? g[i - 1] : 0) + _g;
d[i] = (i ? d[i - 1] : 0) + _d;
pmax[i] = x[i] - (i ? d[i - 1] : 0);
if (i && pmax[i - 1] > pmax[i])
pmax[i] = pmax[i - 1];
}
long long ans = 0;
for (int r = 0; r < n; r++) {
int left = 0, right = r;
while (left < right) {
int mid = (left + right) >> 1;
if (x[r] - d[r] <= pmax[mid])
right = mid;
else
left = mid + 1;
}
int l = right;
if (x[r] - d[r] <= pmax[l])
ans = max(ans, g[r] - (l ? g[l - 1] : 0));
}
cout << ans;
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... |