제출 #912432

#제출 시각아이디문제언어결과실행 시간메모리
912432NK_Art Exhibition (JOI18_art)C++17
100 / 100
186 ms28908 KiB
// Success consists of going from failure to failure without loss of enthusiasm
#include <bits/stdc++.h>

using namespace std;

#define nl '\n'
#define pb push_back

using ll = long long;
template<class T> using V = vector<T>;
using vi = V<int>;
using vl = V<ll>;

const ll INFL = 2e18;

int main() {
	cin.tie(0)->sync_with_stdio(0);
	
	int N; cin >> N;

	vl A(N), B(N); for(int i = 0; i < N; i++) cin >> A[i] >> B[i];

	vi ord(N); iota(begin(ord), end(ord), 0);
	sort(begin(ord), end(ord), [&](int x, int y) {
		return A[x] < A[y];
	});

	vl P = {0}; for(auto& i : ord) P.pb(P.back() + B[i]);

	ll ans = 0, mn = INFL;

	for(int i = 0; i <= N; i++) {
		if (i != 0) {
			ans = max(P[i] - A[ord[i - 1]] - mn, ans);
		}

		if (i != N) mn = min(P[i] - A[ord[i]], mn);
	}

	cout << ans << nl;
	exit(0-0);
}	
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...