Submission #1278016

#TimeUsernameProblemLanguageResultExecution timeMemory
1278016daniyar228Art Exhibition (JOI18_art)C++20
0 / 100
1 ms332 KiB
#include <bits/stdc++.h>
using namespace std;
using i64 = long long;
using pii = pair<i64, i64>;
#pragma GCC optimize("Ofast")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,avx2,mmx,fma,avx,tune=native")
const int N = 500'000, inf = 1'000'000'000;
const i64 infl = 1'000'000'000'000'000'000;
const int mod1 = 1'000'000'009, mod2 = 998'244'353;
const int p1 = 31, p2 = 37;
#define ff first
#define ss second
#define pb push_back
#define ins insert
#define sz(x) (int)(x).size()
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define NO cout << "NO\n"
#define YES cout << "YES\n"
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
int __tc = 1;
int n, l = 1;
i64 s = -infl * 3;
pii b[N+5];
i64 a[N+5][2];
i64 p[N+5];
void solve() {
    sort(b + 1, b + n + 1);
    for (int i = 1; i <= n; i++) a[i][0] = b[i].ff, a[i][1] = b[i].ss;
    p[0] = 0;
    for (int i = 1; i <= n; i++) p[i] = a[i][1] + p[i-1];
    for (int r = 1; r <= n; r++) {
        s = max(s, p[r] - a[r][0] + a[l][0]);
        while (p[r] - a[r][0] + a[l][0] < 0) l++;
    }
    cout << s;
}
int main() {
    ios_base::sync_with_stdio(false); cin.tie(nullptr);
    // cin >> __tc;
    for (int _tc = 1; _tc <= __tc; _tc++) {
        cin >> n;
        for (int i = 1; i <= n; i++) cin >> b[i].ff >> b[i].ss;
        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...