이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
#define int long long
using namespace std;
signed main() {
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int n; cin >> n;
vector<pair<int, int>> a(n);
for(auto &p : a) cin >> p.first >> p.second;
sort(a.begin(), a.end());
vector<int> suf(n);
suf[n-1]=a[n-1].first+a[n-1].second;
for(int i=n-2; i>=0; i--)
suf[i]=suf[i+1]+a[i].second-a[i+1].first+a[i].first;
vector<int> pre_max(n);
pre_max[0]=suf[0];
for(int i=1; i<n; i++) pre_max[i]=max(suf[i], pre_max[i-1]);
int sum=0, cost=-1e17;
for(int i=n-1; i>=0; i--)
cost=max(cost, pre_max[i]-sum-a[i].first),
sum+=a[i].second;
cout << cost << '\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... |