This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using vll = vector <ll>;
int main () {
cin.tie(nullptr) -> sync_with_stdio(false);
ll n;
cin >> n;
vector <pair <ll, ll> > ve(n);
for (auto &[a, b] : ve) cin >> a >> b;
sort(ve.begin(), ve.end());
vll ps(n+1, 0);
for (ll i = 0; i < n; i++) {
ps[i+1] = ps[i] + ve[i].second;
}
vll maxN(n);
maxN[n-1] = ps[n] - ve[n-1].first;
for (ll i = n-2; i >= 0; i--) {
maxN[i] = max(maxN[i+1], ps[i+1] - ve[i].first);
}
ll ans = 0;
for (ll i = 0; i < n; i++) {
auto [a, b] = ve[i];
ll maxSum = maxN[i]-ps[i]+a;
ans = max(ans, maxSum);
}
cout << ans << '\n';
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... |