Submission #1018115

#TimeUsernameProblemLanguageResultExecution timeMemory
1018115ag_1204Art Exhibition (JOI18_art)C++14
100 / 100
134 ms31028 KiB
#include<bits/stdc++.h>
using namespace std;
#define int long long int
#define pii pair<int,int>
#define vi vector<int>
#define si set<int>
#define pb push_back
 
void solve() {
    int n; cin>>n;
    pii v[n+1];
    for (int i=1;i<=n;i++) {
        cin>>v[i].first>>v[i].second;
    }
    sort(v+1, v+n+1);
    int ans = 0;
    int sum[n+1];
    for(int i = 1; i <= n; ++i) {
        sum[i] = sum[i - 1] + v[i].second;
        ans = max(ans, 1ll * v[i].second);
    }
    priority_queue<int, vector<int>, greater<int>> pq;
    for(int i = 1; i <= n; ++i) {
        if(!pq.empty()) {
            int top = pq.top();
            ans = max(ans, sum[i] - v[i].first - top);
        }
        pq.push(sum[i - 1] - v[i].first);
    }
    cout << ans;
    return;
}
 
int32_t main() {
	ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
	int tt=1; //cin>>tt;
	while(tt--) {
	    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...