제출 #864825

#제출 시각아이디문제언어결과실행 시간메모리
864825dpsaveslivesArt Exhibition (JOI18_art)C++17
100 / 100
162 ms24908 KiB
#include <bits/stdc++.h>
#define int long long
#define f first
#define s second
using namespace std;
int32_t main()
{
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    int N; cin >> N;
    vector<pair<int,int>> arr(N);
    for(int i = 0;i<N;++i) cin >> arr[i].f >> arr[i].s; //size, value
    sort(arr.begin(),arr.end());
    vector<int> pref(N+1); pref[0] = 0;
    for(int i = 1;i<=N;++i){
        pref[i] = pref[i-1]+arr[i-1].s;
    }
    int cur = pref[0]-arr[0].f, ans = 0;
    for(int i = 1;i<N;++i){
        int x = pref[i]-arr[i].f;
        cur = min(cur,x);
        ans = max(ans,x-cur+arr[i].s);
        //cout << cur << " " << x << "\n";
    }
    cout << ans << "\n";
    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...