Submission #1088618

#TimeUsernameProblemLanguageResultExecution timeMemory
1088618StaheosArt Exhibition (JOI18_art)C++14
100 / 100
372 ms21036 KiB
#include <iostream> #include <algorithm> using namespace std; int main() { long long n; cin >> n; auto ab = new pair<long long, long long>[n]; for (long long i = 0; i < n; i++) { cin >> ab[i].first >> ab[i].second; } std::sort(ab, ab + n); long long amin = 0; long long s = 0; long long m = 0; for (long long i = 0; i < n; i++) { s += ab[i].second; //while (amin < i && (s - (ab[i].first - ab[amin].first) < s - ab[amin].second - (ab[i].first - ab[amin + 1].first))) while (amin < i && ( ab[amin].first < - ab[amin].second + ab[amin + 1].first)) { s -= ab[amin].second; amin++; } if (ab[i].second > s - (ab[i].first - ab[amin].first)) { s = ab[i].second; amin = i; } if (s - (ab[i].first - ab[amin].first) > m) { m = s - (ab[i].first - ab[amin].first); } } cout << m << '\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...