Submission #210031

#TimeUsernameProblemLanguageResultExecution timeMemory
210031SamAndArt Exhibition (JOI18_art)C++17
100 / 100
306 ms24740 KiB
#include <bits/stdc++.h> using namespace std; const int N = 500005; struct ban { long long a; int b; }; bool operator<(const ban& a, const ban& b) { return a.a < b.a; } int n; ban a[N]; long long p[N]; int main() { scanf("%d", &n); for (int i = 1; i <= n; ++i) scanf("%lld%d", &a[i].a, &a[i].b); sort(a + 1, a + n + 1); for (int i = 1; i <= n; ++i) p[i] = p[i - 1] + a[i].b; long long maxu = -p[1 - 1] + a[1].a; long long ans = a[1].b; for (int i = 2; i <= n; ++i) { maxu = max(maxu, -p[i - 1] + a[i].a); ans = max(ans, p[i] - a[i].a + maxu); } printf("%lld\n", ans); return 0; }

Compilation message (stderr)

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