#include <bits/stdc++.h>
#define pii pair <long long, long long>
#define fi first
#define se second
using namespace std;
using ll = long long;
const ll N = 500005, inf = 1e16;
int n;
pii a[N];
ll pfs[N], pre[N], suf[N];
signed main() {
ios::sync_with_stdio(false);
cin.tie(0);
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> a[i].fi >> a[i].se;
}
sort(a + 1, a + n + 1); // sort theo size
for (int i = 1; i <= n; i++) {
pfs[i] = pfs[i - 1] + a[i].se;
pre[i] = pfs[i] - a[i].fi; // S = [1, i] va max = i
// cout << pfs[i] << ' ' << pre[i] << '\n';
}
suf[n + 1] = -inf;
for (int i = n; i >= 1; i--) {
// cout << suf[i + 1] << '\n';
suf[i] = max(suf[i + 1], pre[i]);
// cout << suf[i] << ' ';
}
ll ans = -inf;
for (int i = 1; i <= n; i++) { // co dinh con min => max(pre)
ans = max(ans, suf[i] + a[i].fi - pfs[i - 1]);
}
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... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |