Submission #1270858

#TimeUsernameProblemLanguageResultExecution timeMemory
1270858hamaseArt Exhibition (JOI18_art)C++20
0 / 100
0 ms320 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define pll pair<ll, ll> #define fi first #define se second ll N, ps[500100]; //s[500100], v[500100], dps[500100][2], dpmin[500100][2], dpmax[500100][2]; pll a[500100]; int main() { cin >> N; for (int i = 1; i <= N; i++) { cin >> a[i].fi >> a[i].se; } sort(a+1, a+N+1); ps[0] = 0; for (int i = 1; i <= N; i++) { ps[i] = ps[i-1] + a[i].se; } ll ans = -4e18; // for (int i = 1; i <= N; i++) { // for (int j = i; j <= N; j++) { // ans = max(ans, ps[j]-ps[i-1] - (a[j].fi - a[i].fi)); // } // } ll l = 1; ll r = N; while (l <= r) { ans = max(ans, ps[r]-ps[l-1] - (a[r].fi - a[l].fi)); if (l == r) break; else { if (ps[r]-ps[l] - (a[r].fi - a[l+1].fi) > ps[r-1]-ps[l-1] - (a[r-1].fi - a[l].fi)) l++; else r--; } } cout << ans << endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...