Submission #444903

#TimeUsernameProblemLanguageResultExecution timeMemory
444903erkeArt Exhibition (JOI18_art)C++11
100 / 100
219 ms28716 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define ii pair<int,int>
#define fi first
#define sc second
#define all(x) (x).begin(),(x).end()

const int N = 500005;

ii a[N];
int sum[N], mi[N];

signed main() {
  // freopen("in" , "r", stdin );
  cin.tie(0)->sync_with_stdio(0);
  int n; cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> a[i].fi >> a[i].sc;
  }
  sort(a + 1, a + n + 1);
  for (int i = 1; i <= n; i++) {
    sum[i] = sum[i - 1] + a[i].sc;
  }
  for (int i = 0; i < n; i++) {
    mi[i] = sum[i] - a[i + 1].fi;
    if (i) mi[i] = min(mi[i], mi[i - 1]);
  }
  int ans = LLONG_MIN;
  for (int i = 1; i <= n; i++) {
    ans = max(ans, sum[i] - a[i].fi - mi[i - 1]);
  }
  cout << ans << '\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...