Submission #1034037

#TimeUsernameProblemLanguageResultExecution timeMemory
1034037vjudge1Art Exhibition (JOI18_art)C++17
100 / 100
344 ms14932 KiB
#include<bits/stdc++.h>
using namespace std;
const int N = 5e5;
pair<long long,long long> p[N+5];
int n;
int main(){
    cin >> n;
    for(int i = 0; i < n; i++)cin >> p[i].first >> p[i].second;
    sort(p,p+n);
    for(int i = n-1; i > 0; i--){
        if(p[i].first == p[i-1].first){
            p[i-1].second += p[i].second;
            p[i].second = 0;
        }
    }
    long long res = 0;
    long long Min = -p[0].first;
    for(int i = 1; i < n; i++)p[i].second+= p[i-1].second;
    for(int i = 0; i < n; i++){
        res = max(res, p[i].second - p[i].first - Min);
        Min = min(Min, p[i].second - p[i+1].first);
     //   cout << res << " "<< Min << " "<<p[i].first << " " << p[i].second << endl;
    }
    cout << res;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...