제출 #418046

#제출 시각아이디문제언어결과실행 시간메모리
418046oofsizelargeArt Exhibition (JOI18_art)C++14
0 / 100
1 ms204 KiB
#include <iostream> #include <algorithm> #include <vector> #include <climits> using namespace std; struct Artwork { long long a; int b; bool operator < (const Artwork& other) const { return a < other.a; } }; int main() { int n; cin >> n; vector < Artwork > gallery(n + 1); for (int i = 1; i <= n; ++i) { cin >> gallery[i].a >> gallery[i].b; } sort(gallery.begin() + 1, gallery.end()); vector < long long > bPartialSums(n + 1); for (int i = 1; i <= n; ++i) { bPartialSums[i] = bPartialSums[i - 1] + gallery[i].b; } vector < long long > suffixMax(n + 2); for (int i = n; i > 0; --i) { suffixMax[i] = max(suffixMax[i + 1], bPartialSums[i] - gallery[i].a); } long long ans = LLONG_MIN; for (int i = 1; i <= n; ++i) { ans = max(ans, suffixMax[i] + gallery[i].a - bPartialSums[i - 1]); } cout << ans << '\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...