제출 #635821

#제출 시각아이디문제언어결과실행 시간메모리
635821zeroesandonesArt Exhibition (JOI18_art)C++17
100 / 100
206 ms16600 KiB
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef long double ld;
typedef vector<ll> vi;
typedef pair<ll, ll> pi;

#define FOR(i, j, k) for (ll i = j; i < (ll) k; ++i)
#define FORD(i, j, k) for (ll i = j; i >= (ll) k; --i)
#define nl "\n"
#define all(x) (x).begin(), (x).end()

#define sc second
#define fr first
#define pb push_back

const ll inf = 1e18 + 5;

void solve()
{
    ll n;
    cin >> n;

    pi a[n + 1] = {};
    FOR(i, 1, n + 1)
        cin >> a[i].fr >> a[i].sc;

    sort(a + 1, a+n+1);

    // FOR(i, 1, n + 1) {
        // cout << a[i].fr << " " << a[i].sc << nl;
    // }

    ll sum[n + 1] = {};
    FOR(i, 1, n + 1) {
        sum[i] = sum[i - 1] + a[i].sc;
    }

    ll ans = a[1].sc;
    ll mn = sum[0] - a[1].fr;
    FOR(i, 2, n + 1) {
        mn = min(mn, sum[i - 1] - a[i].fr);
        ans = max(ans, sum[i] - a[i].fr - mn);
    }

    cout << ans << nl;
}

signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    ll t = 1;
    // cin >> t;
    while (t--)
    {
        solve();
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...