Submission #1343986

#TimeUsernameProblemLanguageResultExecution timeMemory
1343986tit_manhArt Exhibition (JOI18_art)C++20
100 / 100
133 ms15944 KiB
/*
    author : TIT_manh
*/
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <cmath>
#include <iomanip>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <map>
#include <unordered_map>
#include <set>
#include <unordered_set>
#include <queue>
#include <stack>
#include <deque>
#include <bitset>
#include <numeric> 
#include <functional>
#include <cassert>
#include <sstream>
#include <climits>
#define ll long long
#define FOR(i,l,r) for (int i = l; i <= r; i++)
#define FOD(i,r,l) for (int i = r; i >= l; i--)
#define ALL(x) x.begin(), x.end()
#define lb(v,x) (int)(lower_bound(ALL(v),x)-v.begin())
#define ub(v,x) (int)(upper_bound(ALL(v),x)-v.begin())
#define fi first
#define se second
#define pb push_back
#define endl "\n"
#define double long double
#define m_int 0x3f3f3f3f
#define m_ll 0x3f3f3f3f3f3f3f3f
using namespace std;

const int maxn = 5e5 + 5;
ll a[maxn], p[maxn], n;
pair<ll, ll> v[maxn];

bool cmp(const pair<ll, ll> &A, const pair<ll, ll> &B) {
    return A.fi < B.fi;
}

void ciin() {
    cin >> n;
    FOR(i,1,n) cin >> v[i].fi >> v[i].se;
    sort(v + 1, v + n + 1, cmp);
    FOR(i,1,n) a[i] = v[i].fi, p[i] = v[i].se, p[i] += p[i - 1];
    ll mn = -a[1], res = -m_ll;
    FOR(i,1,n) {
        mn = min(mn, p[i - 1] - a[i]);
        res = max(res, p[i] - a[i] - mn);
    }
    cout << res;
}

void solve() {

}
 
int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    ciin(); solve();
    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...