이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#define int long long
using namespace std;
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
int n;
cin>>n;
pair<int,int>a[n+1];
int pref[n+1];
pref[0]=0;
for(int i=1;i<=n;i++){
int u,v;
cin>>u>>v;
a[i]={u,v};
}
sort(a+1,a+n+1);
for(int i=1;i<=n;++i)pref[i]=pref[i-1]+a[i].second;
int ans=0;
/*
for(int i=1;i<=n;i++){
for(int j=i;j<=n;j++){
//ans=max(ans,pref[j]-pref[i-1]-a[j].first-a[i].first);
int A=(pref[j]);
int b=pref[i-1];
int c=a[j].first;
int d=a[i].first;
// (a-b)-(c-d)
// a-b-c+d
ans=max(ans,A-c-b+d);
}
}*/
int suf[n+2];
suf[n+1]=-1e18;
for(int i=n;i>=1;i--)suf[i]=max(suf[i+1],pref[i]-a[i].first);
for(int i=1;i<=n;i++)ans=max(ans,suf[i]-pref[i-1]+a[i].first);
cout<<ans;
}
# | 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... |