#include <bits/stdc++.h>
#define ll long long
#define pb emplace_back
#define fi first
#define se second
#define banyak int tc = 1; cin >> tc; while(tc--){solve();}
#define vector2d(x) vector<vector<x>>
#define pii pair<int, int>
#define pl pair<ll, ll>
#define kagamine_len ios_base::sync_with_stdio(0); cin.tie(0);
#define file_in freopen("input.txt", "r", stdin);
#define file_out freopen("output.txt", "w", stdout);
#define all(x) x.begin(), x.end()
using namespace std;
int main(){
kagamine_len
ll n; cin >> n;
vector<ll> pf(n+1, 0);
vector<pl> ar(n);
for (ll i = 0; i < n; i++) cin >> ar[i].fi >> ar[i].se;
sort(all(ar));
for (ll i = 0; i < n; i++) pf[i+1] = pf[i] + ar[i].se;
// ll ans = 0;
// for (ll i = 0; i < n; i++){
// for (ll j = i; j < n; j++){
// ans = max(ans, pf[j+1]-pf[i]-(ar[j].fi-ar[i].fi));
// }
// }
// vector<ll> seg(4*n + 1, 1e18);
// function<ll(ll, ll, ll)> que = [&](ll l, ll r, )
ll mi = 1e18, ans = 0;
for (ll i = 1; i <= n; i++){
ll cur = i-1;
mi = min(mi, pf[i-1]-ar[cur].fi);
ans = max(ans, pf[i]-ar[cur].fi - mi);
}
// for (ll i = 1; i <= n; i++){
// cout << pf[i] << " ";
// }
/*
pf[j+1]-pf[i]-(ar[j].fi-ar[i].fi)
= pf[j+1]-ar[j] - pf[i]+ar[i]
saatnya segtree :Ppppppppp
gausa ding
*/
cout << ans << "\n";
return 0;
}
/*
misal ada s1 dan s2 sebagai a_max dan a_min
it's optimal to choose the prefix
*/
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |