제출 #958873

#제출 시각아이디문제언어결과실행 시간메모리
958873vjudge1Art Exhibition (JOI18_art)C++17
100 / 100
143 ms16212 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using vll = vector <ll>;

int main () {
    cin.tie(nullptr) -> sync_with_stdio(false);
    ll n;
    cin >> n;
    vector <pair <ll, ll> > ve(n);
    for (auto &[a, b] : ve) cin >> a >> b;
    sort(ve.begin(), ve.end());
    vll ps(n+1, 0);
    for (ll i = 0; i < n; i++) {
        ps[i+1] = ps[i] + ve[i].second;
    }
    vll maxN(n);
    maxN[n-1] = ps[n] - ve[n-1].first;
    for (ll i = n-2; i >= 0; i--) {
        maxN[i] = max(maxN[i+1], ps[i+1] - ve[i].first);
    }
    ll ans = 0;
    for (ll i = 0; i < n; i++) {
        auto [a, b] = ve[i];
        ll maxSum = maxN[i]-ps[i]+a;
        ans = max(ans, maxSum);
    }
    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...