Submission #1226345

#TimeUsernameProblemLanguageResultExecution timeMemory
1226345wedonttalkanymoreArt Exhibition (JOI18_art)C++20
100 / 100
114 ms19792 KiB
#include <bits/stdc++.h> #define pii pair <long long, long long> #define fi first #define se second using namespace std; using ll = long long; const ll N = 500005, inf = 1e16; int n; pii a[N]; ll pfs[N], pre[N], suf[N]; signed main() { ios::sync_with_stdio(false); cin.tie(0); cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i].fi >> a[i].se; } sort(a + 1, a + n + 1); // sort theo size for (int i = 1; i <= n; i++) { pfs[i] = pfs[i - 1] + a[i].se; pre[i] = pfs[i] - a[i].fi; // S = [1, i] va max = i // cout << pfs[i] << ' ' << pre[i] << '\n'; } suf[n + 1] = -inf; for (int i = n; i >= 1; i--) { // cout << suf[i + 1] << '\n'; suf[i] = max(suf[i + 1], pre[i]); // cout << suf[i] << ' '; } ll ans = -inf; for (int i = 1; i <= n; i++) { // co dinh con min => max(pre) ans = max(ans, suf[i] + a[i].fi - pfs[i - 1]); } cout << ans; 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...