// Problem: I - Знате
// Contest: Virtual Judge - 2024-03-11
// URL: https://vjudge.net/contest/700556#problem/I
//
// By Muaath Alqarni
// Blog: https://muaath.dev/blog
#include <bits/stdc++.h>
#define ll long long
#define pii pair<ll, ll>
using namespace std;
const int N = 2e5+1;
const ll INF = 1e18;
int n;
array<ll, 3> a[N];
ll pref[N], prefg[N];
ll prefmn[N];
int main()
{
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin >> n;
for (int i = 1; i <= n; cin >> a[i][0] >> a[i][1] >> a[i][2], i++);
sort(a+1, a+n+1);
a[0][0] = a[1][0];
a[n+1][0] = a[n][0];
vector<pii> v;
v.push_back({0, 0});
for (int i = 1; i <= n; i++) {
pref[i] = pref[i-1] - (a[i][0] - a[i-1][0]) + a[i][2];
prefg[i] = prefg[i-1] + a[i][1];
v.push_back({pref[i] - (a[i+1][0] - a[i][0]), prefg[i]});
}
sort(v.begin(), v.end());
for (int i = 0; i <= n; i++) {
prefmn[i] = min(i ? prefmn[i-1] : INF, v[i].second);
}
ll sol = 0;
for (int r = 1; r <= n; r++) {
int idx = upper_bound(v.begin(), v.end(), pii{pref[r], INF})-v.begin()-1;
ll ans = prefg[r] - prefmn[idx];
sol = max(sol, ans);
}
cout << sol;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |