제출 #968163

#제출 시각아이디문제언어결과실행 시간메모리
968163vjudge1Art Exhibition (JOI18_art)C++17
100 / 100
145 ms21132 KiB
#include<bits/stdc++.h>
#define int long long

using namespace std;

pair<int, int> arr[500005];
int n, mn, mx, sum, c_mn = 1e18, c_mx = -1e18, ans = -1e18;

signed main(){
    cin.tie(nullptr)->sync_with_stdio(false);
    cin >> n;
    for(int i = 1; i<=n; ++i) cin >> arr[i].first >> arr[i].second;
    sort(arr+1, arr+1+n);
    for(int i = 1; i<=n; ++i){
        mn = min(c_mn, arr[i].first);
        mx = max(c_mx, arr[i].first);
        if(sum + arr[i].second - (mx - mn) < arr[i].second){
            sum = arr[i].second;
            c_mn = arr[i].first;
            c_mx = arr[i].first;
        }
        else{
            c_mn = mn;
            c_mx = mx;
            sum+=arr[i].second;
        }
        ans = max(ans, sum - (c_mx - c_mn));
    }
    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...