Submission #318730

# Submission time Handle Problem Language Result Execution time Memory
318730 2020-11-03T03:42:30 Z Gurban Divide and conquer (IZhO14_divide) C++17
17 / 100
1 ms 492 KB
#include <bits/stdc++.h>
using namespace std;

using ll = long long;

const int maxn=1e5+5;
int n,x,g,e;
ll p[maxn],T[4*maxn],jog[maxn],ans;

void upd(int pos,int val,int l,int r,int nd){
	if(l == r){
		T[nd]=val;
		return;
	}
	if(pos <= (l+r)/2) upd(pos,val,l,(l+r)/2,nd*2);
	else upd(pos,val,(l+r)/2+1,r,nd*2+1);
	T[nd] = max(T[nd*2],T[nd*2+1]);
}

int tap(int val,int l,int r,int nd){
	if(l==r) return l;
	if(T[nd*2] >= val) return tap(val,l,(l+r)/2,nd*2);
	return tap(val,(l+r)/2+1,r,nd*2+1);
}

int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);

	cin >> n;
	for(int i = 1;i <= n;i++){
		cin >> x >> g >> e;
		p[i]=p[i-1]+e;
		jog[i]=jog[i-1]+g;
		upd(i,x - p[i-1],1,n,1);
		int pos=tap(x-p[i],1,n,1);
		ans = max(ans,jog[i]-jog[pos-1]);
	}
	cout<<ans;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 384 KB Output is correct
5 Correct 0 ms 364 KB Output is correct
6 Correct 1 ms 364 KB Output is correct
7 Correct 1 ms 364 KB Output is correct
8 Correct 1 ms 384 KB Output is correct
9 Correct 1 ms 364 KB Output is correct
10 Correct 1 ms 364 KB Output is correct
11 Correct 1 ms 364 KB Output is correct
12 Correct 1 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 384 KB Output is correct
5 Correct 0 ms 364 KB Output is correct
6 Correct 1 ms 364 KB Output is correct
7 Correct 1 ms 364 KB Output is correct
8 Correct 1 ms 384 KB Output is correct
9 Correct 1 ms 364 KB Output is correct
10 Correct 1 ms 364 KB Output is correct
11 Correct 1 ms 364 KB Output is correct
12 Correct 1 ms 384 KB Output is correct
13 Correct 1 ms 364 KB Output is correct
14 Correct 1 ms 364 KB Output is correct
15 Correct 1 ms 364 KB Output is correct
16 Correct 1 ms 364 KB Output is correct
17 Correct 1 ms 364 KB Output is correct
18 Incorrect 1 ms 492 KB Output isn't correct
19 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 384 KB Output is correct
5 Correct 0 ms 364 KB Output is correct
6 Correct 1 ms 364 KB Output is correct
7 Correct 1 ms 364 KB Output is correct
8 Correct 1 ms 384 KB Output is correct
9 Correct 1 ms 364 KB Output is correct
10 Correct 1 ms 364 KB Output is correct
11 Correct 1 ms 364 KB Output is correct
12 Correct 1 ms 384 KB Output is correct
13 Correct 1 ms 364 KB Output is correct
14 Correct 1 ms 364 KB Output is correct
15 Correct 1 ms 364 KB Output is correct
16 Correct 1 ms 364 KB Output is correct
17 Correct 1 ms 364 KB Output is correct
18 Incorrect 1 ms 492 KB Output isn't correct
19 Halted 0 ms 0 KB -