#include <iostream>
#include <vector>
#include <unordered_map>
#include <algorithm>
typedef long long ll;
using namespace std;
int main() {
    ll n;
    cin >> n;
    vector<pair<ll, ll>> pics(n + 1);
    for (ll i = 1; i<=n; ++i) 
        cin >> pics[i].first >> pics[i].second;
    sort(pics.begin(), pics.end());
    vector<ll> pref(n, 0);
    for (int i = 1; i<n; ++i) 
        pref[i] = pref[i - 1] + pics[i].second;
    ll val = 0;
    ll res = 0;
    for (int i = 1; i<=n; ++i) {
        val = max(val, pics[i].first - pref[i - 1]);
        res = max(res, pref[i] - pics[i].first + val);
    }
    cout << res << '\n';
}
| # | 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... |