제출 #241155

#제출 시각아이디문제언어결과실행 시간메모리
241155jiahngArt Exhibition (JOI18_art)C++14
100 / 100
295 ms20600 KiB
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef pair<ll,ll> pi;
typedef vector <ll> vi;
typedef vector <pi> vpi;
#define f first
#define s second
#define FOR(i,s,e) for(ll i=s;i<=ll(e);++i)
#define DEC(i,s,e) for(ll i=s;i>=ll(e);--i)
#define pb push_back
#define all(x) (x).begin(), (x).end()
#define lbd(x, y) lower_bound(all(x), y)
#define ubd(x, y) upper_bound(all(x), y)
#define aFOR(i,x) for (auto i: x)
#define mem(x,i) memset(x,i,sizeof x)
#define fast ios_base::sync_with_stdio(false),cin.tie(0)
#define maxn 500010
#define int ll
int N;
pi A[maxn];
int ss[maxn],mn[maxn];

int32_t main(){
	fast;
	
	cin>>N;
	
	FOR(i,1,N) cin>>A[i].f>>A[i].s;
	
	sort(A+1,A+N+1);
	
	FOR(i,1,N) ss[i] = ss[i-1] + A[i].s;
	
	FOR(i,0,N-1) ss[i] -= A[i+1].f;
	
	mn[0] = ss[0];
	FOR(i,1,N) mn[i] = min(mn[i-1],ss[i]);
		
	int ans = 0; bool f = 1;
	
	FOR(i,1,N){
		if (f) ans = ss[i] + A[i+1].f - A[i].f - mn[i-1];
		ans = max((ll)ans,ss[i] + A[i+1].f - A[i].f - mn[i-1]);
		f = 0;
	}
	
	cout<<ans;
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...