Submission #681424

#TimeUsernameProblemLanguageResultExecution timeMemory
681424sudheerays123Art Exhibition (JOI18_art)C++17
100 / 100
371 ms48304 KiB
#include<bits/stdc++.h>
using namespace std;
#define fast ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
#define ll long long int
const ll N = 100+5 , INF = 1e18 , MOD = 1e9+7;

void solve(){

	ll n;
	cin >> n;

	vector<pair<ll,ll>> dish(n+5);

	for(ll i = 1; i <= n; i++) cin >> dish[i].first >> dish[i].second;
	sort(dish.begin()+1,dish.begin()+n+1);

	vector<ll> presum(n+5);
	for(ll i = 1; i <= n; i++) presum[i] = presum[i-1]+dish[i].second;
	
	multiset<ll> s;
	for(ll i = 1; i <= n; i++) s.insert(presum[i]-dish[i].first);

	ll ans = -INF;

	for(ll i = 1; i <= n; i++){
		ans = max(ans,(*(s.rbegin()))+dish[i].first-presum[i-1]);
		s.erase(s.find(presum[i]-dish[i].first));
	}

	cout << ans;
}

int main(){

	fast;

	ll tc = 1;
	// cin >> tc;
	while(tc--) solve();

	return 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...