#include <bits/stdc++.h>
using namespace std;
#define ll long long
const ll mmod = 998244353;
#define vl vector<long long>
#define vll vector<vector<long long>>
#define pl pair<long long, long long>
#define vb vector<bool>
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
ll n;
cin >>n;
vector<pl> nums;
for (ll i= 0; i < n; i++){
ll a, b;
cin >>a >> b;
nums.push_back({a,b});
}
sort(nums.begin(), nums.end());
vl p(n+1,0);
for (ll i = 0; i < n; i++){
p[i+1] = p[i] + nums[i].second;
}
vl v1, v2;
for (ll i = 0; i < n; i++){
v1.push_back(-nums[i].first + nums[i].second + p[i]);
v2.push_back(nums[i].first + nums[i].second - p[i+1]);
}
ll maximum = 0;
ll optimum = 0;
for (ll i = 0; i < n; i++){
optimum = max(optimum, nums[i].second);
}
for (ll i = 0; i < n; i++){
optimum = max(optimum, v1[i]+maximum);
maximum = max(maximum, v2[i]);
}
cout << optimum << "\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... |