제출 #547860

#제출 시각아이디문제언어결과실행 시간메모리
547860beaconmcArt Exhibition (JOI18_art)C++17
100 / 100
370 ms40400 KiB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

typedef long long ll;
using namespace std;
using namespace __gnu_pbds;

#define FOR(i, x, y) for(ll i=x; i<y; i++)
#define FORNEG(i, x, y) for(ll i=x; i>y; i--)
#define ordered_set tree<ll, null_type,less_equal<ll>, rb_tree_tag,tree_order_statistics_node_update>
#define fast() ios_base::sync_with_stdio(false);cin.tie(NULL)


int main(){
    fast();
    ll n; cin >> n;
    vector<vector<ll>> paintings;

    FOR(i,0,n){
        ll a,b;
        cin >> a >> b; 
        paintings.push_back({a,b});
    }
    sort(paintings.begin(), paintings.end());
    ll curmax=-1, curmin=1000000000000000000, cur=0, ans=0;
    FOR(i,0,n){
        curmax = max(curmax, paintings[i][0]);
        curmin = min(curmin, paintings[i][0]);
        cur += paintings[i][1];
        if (cur-(curmax-curmin)<paintings[i][1]){
            curmax = paintings[i][0];
            curmin = paintings[i][0];
            cur = paintings[i][1];
        }
        ans = max(ans, cur-(curmax-curmin));
    }
    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...