#include <cstdio>
#include <algorithm>
using namespace std;
typedef long long ll;
const int MAX = 100020;
const ll INF = 1234567890LL;
struct segment {
int pos;
ll gSum, eSum;
bool left;
bool operator < (const segment &t) const {
if(eSum-pos == t.eSum-t.pos)
return left > t.left;
return eSum-pos < t.eSum-t.pos;
}
};
int n, dFull;
segment data[MAX<<1];
void input(){
scanf("%d", &n);
ll eSum = 0, gSum = 0;
int i;
for(i = 0; i<n; i++){
segment t;
scanf("%d", &t.pos);
ll nowG, nowE;
scanf("%lld%lld", &nowG, &nowE);
t.left = 1;
t.gSum = gSum;
t.eSum = eSum;
data[dFull++] = t;
gSum += nowG;
eSum += nowE;
t.left = 0;
t.gSum = gSum;
t.eSum = eSum;
data[dFull++] = t;
}
sort(data, data+dFull);
}
void solve(){
int i;
ll minG = INF * MAX, res = 0;
for(i = 0; i<dFull; i++){
if(data[i].left) minG = min(minG, data[i].gSum);
else res = max(res, data[i].gSum-minG);
}
printf("%lld\n", res);
}
int main(){
input();
solve();
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
7336 KB |
Output is correct |
2 |
Correct |
0 ms |
7336 KB |
Output is correct |
3 |
Correct |
0 ms |
7336 KB |
Output is correct |
4 |
Correct |
0 ms |
7336 KB |
Output is correct |
5 |
Correct |
0 ms |
7336 KB |
Output is correct |
6 |
Correct |
0 ms |
7336 KB |
Output is correct |
7 |
Correct |
0 ms |
7336 KB |
Output is correct |
8 |
Correct |
0 ms |
7336 KB |
Output is correct |
9 |
Correct |
0 ms |
7336 KB |
Output is correct |
10 |
Correct |
0 ms |
7336 KB |
Output is correct |
11 |
Correct |
0 ms |
7336 KB |
Output is correct |
12 |
Correct |
0 ms |
7336 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
7336 KB |
Output is correct |
2 |
Correct |
0 ms |
7336 KB |
Output is correct |
3 |
Correct |
0 ms |
7336 KB |
Output is correct |
4 |
Correct |
0 ms |
7336 KB |
Output is correct |
5 |
Correct |
0 ms |
7336 KB |
Output is correct |
6 |
Correct |
0 ms |
7336 KB |
Output is correct |
7 |
Correct |
0 ms |
7336 KB |
Output is correct |
8 |
Correct |
0 ms |
7336 KB |
Output is correct |
9 |
Correct |
0 ms |
7336 KB |
Output is correct |
10 |
Correct |
0 ms |
7336 KB |
Output is correct |
11 |
Correct |
4 ms |
7336 KB |
Output is correct |
12 |
Correct |
4 ms |
7336 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
7336 KB |
Output is correct |
2 |
Correct |
4 ms |
7336 KB |
Output is correct |
3 |
Correct |
4 ms |
7336 KB |
Output is correct |
4 |
Correct |
28 ms |
7336 KB |
Output is correct |
5 |
Correct |
28 ms |
7336 KB |
Output is correct |
6 |
Correct |
48 ms |
7336 KB |
Output is correct |
7 |
Correct |
48 ms |
7336 KB |
Output is correct |
8 |
Correct |
56 ms |
7336 KB |
Output is correct |
9 |
Correct |
52 ms |
7336 KB |
Output is correct |
10 |
Correct |
92 ms |
7336 KB |
Output is correct |
11 |
Correct |
96 ms |
7336 KB |
Output is correct |
12 |
Correct |
92 ms |
7336 KB |
Output is correct |