Submission #1334570

#TimeUsernameProblemLanguageResultExecution timeMemory
1334570zhehanArt Exhibition (JOI18_art)C++20
100 / 100
423 ms15920 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
typedef pair<int, int> ii;

signed main() {
  int n = 0;
  cin >> n;
  vector<ii> art(n, ii(0, 0));
  for (int i = 0; i < n; ++i) {
    cin >> art[i].first >> art[i].second;
  }
  sort(art.begin(), art.end());
  vector<int> preval(n, 0);
  preval[0] = art[0].second;
  for (int i = 1; i < n; ++i) {
    preval[i] = preval[i - 1] + art[i].second;
  }
  vector<int> pxax(n, 0);
  for (int i = 0; i < n; ++i) {
    pxax[i] = preval[i] - art[i].first;
  }
  int maxval = 0, minpiai = LLONG_MAX;
  for (int i = 0; i < n; ++i) {
    int v = i > 0 ? preval[i-1] : 0;
    int piai = v - art[i].first;
    minpiai = min(minpiai, piai);
    maxval = max(maxval, pxax[i] - minpiai);
  }
  cout << maxval << '\n';
  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...