Submission #162590

#TimeUsernameProblemLanguageResultExecution timeMemory
162590fenech20Art Exhibition (JOI18_art)C++14
100 / 100
267 ms8568 KiB
/**
 * Martin Leshko (leshko.martin@gmail.com)
 */

#include <bits/stdc++.h>

using namespace std;

#define forn(i, n) for (int i = 0; i < (int)n; i++)
#define sz(a) (int)a.size()

const int N = 300001;

int main() {
  int n;
  scanf("%d", &n);
  vector< pair<long long, long long> > a(n);
  for (int i = 0; i < n; i++) {
    long long x, y;
    scanf("%lld%lld", &x, &y);
    a[i] = {x, y};
  }
  sort(a.begin(), a.end());
  long long prefix = 0, mn = 0x3f3f3f3f3f3f3f3f, ans = -0x3f3f3f3f3f3f3f3f;
  for (int i = 0; i < n; i++) {
    prefix += a[i].second;
    mn = min(mn, prefix - a[i].second - a[i].first);
    ans = max(ans, prefix - a[i].first - mn);
  }
  printf("%lld\n", ans);
}

Compilation message (stderr)

art.cpp: In function 'int main()':
art.cpp:16:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d", &n);
   ~~~~~^~~~~~~~~~
art.cpp:20:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%lld%lld", &x, &y);
     ~~~~~^~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...