#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
const int maxn = 5e5 + 10;
struct lol {ll a, b;} art[maxn];
int main(int argc, char const *argv[]) {
#ifdef LOCAL_TESTING
freopen("in", "r", stdin);
#endif
int n; cin >> n;
for(int i = 1; i <= n; i++)
cin >> art[i].a >> art[i].b;
art[0].a = art[0].b = 0;
sort(art, art + n + 1, [](lol &a, lol &b) { return a.a < b.a; });
for(int i = 1; i <= n; i++)
art[i].b += art[i - 1].b;
ll Max = 0, add = 0;
for(int i = 1; i <= n; i++) {
/* b[i] - b[j - 1] - a[i] + a[j];
=> a[j] - b[j - 1] + b[i] - a[i];*/
Max = max(Max, art[i].b - art[i].a + add);
add = max(add, art[i].a - art[i - 1].b);
}
cout << Max << endl;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
1 ms |
248 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
1 ms |
248 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
1 ms |
248 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
1 ms |
248 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |