제출 #219148

#제출 시각아이디문제언어결과실행 시간메모리
219148shart23Art Exhibition (JOI18_art)C++14
100 / 100
255 ms31208 KiB
#include <bits/stdc++.h>

#define endl "\n"
#define int long long
#define fir first
#define sec second
using namespace std;

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    int n;
    cin >> n;
    vector<pair<int, int>> arts(n);
    int sm = 0;
    for (auto &x : arts) {
        cin >> x.fir >> x.sec;
        sm += x.sec;
    }
    sort(arts.begin(), arts.end());
    int bl = -(int) 1e18, br = (int) 1e18;
    int sml = 0, smr = 0;
    vector<int> fl, fr;
    for (int i = 0; i < n; i++) {
        bl = max(bl, arts[i].fir - sml);
        fl.push_back(bl);
        sml += arts[i].sec;
    }
    for (int i = n - 1; i >= 0; i--) {
        br = min(br, arts[i].fir + smr);
        fr.push_back(br);
        smr += arts[i].sec;
    }
    reverse(fr.begin(), fr.end());
    int res = -(int) 1e18;
    for (int i = 0; i < n; i++) {
        res = max(res, sm + fl[i] - fr[i]);
    }
    cout << res << endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...