//Just try and the idea will come!
#include<bits/stdc++.h>
using namespace std;
int flag[1200001],n,m,x,y,z;
void update(int v,int l,int r,int ql,int qr,int val){
if(r<ql||qr<l)return;
if(ql<=l&&r<=qr){
flag[v]=max(flag[v],val);
return;
}
int mid=(l+r)>>1;
update((v<<1),l,mid,ql,qr,val);
update((v<<1)+1,mid+1,r,ql,qr,val+mid-l+1);
}
void push(int v,int l,int r){
int mid=(l+r)>>1;
if(l!=r){
if(flag[v]){
flag[(v<<1)]=max(flag[(v<<1)],flag[v]);
flag[(v<<1)+1]=max(flag[(v<<1)+1],flag[v]+mid-l+1);
}
}else{
printf("%d ",flag[v]);
return;
}
push((v<<1),l,mid);
push((v<<1)+1,mid+1,r);
}
int main(){
scanf("%d%d",&n,&m);
while(m--){
scanf("%d%d%d",&x,&y,&z);
update(1,1,n,x,y,z-x+1);
}
push(1,1,n);
}
Compilation message
trading.cpp: In function 'int main()':
trading.cpp:30:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d",&n,&m);
~~~~~^~~~~~~~~~~~~~
trading.cpp:32:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d%d",&x,&y,&z);
~~~~~^~~~~~~~~~~~~~~~~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
384 KB |
Output is correct |
2 |
Correct |
2 ms |
256 KB |
Output is correct |
3 |
Correct |
2 ms |
256 KB |
Output is correct |
4 |
Correct |
2 ms |
376 KB |
Output is correct |
5 |
Correct |
3 ms |
376 KB |
Output is correct |
6 |
Correct |
4 ms |
376 KB |
Output is correct |
7 |
Correct |
134 ms |
5496 KB |
Output is correct |
8 |
Correct |
142 ms |
6392 KB |
Output is correct |
9 |
Correct |
149 ms |
6136 KB |
Output is correct |
10 |
Correct |
157 ms |
5552 KB |
Output is correct |
11 |
Correct |
167 ms |
7212 KB |
Output is correct |
12 |
Correct |
185 ms |
6648 KB |
Output is correct |
13 |
Correct |
182 ms |
7444 KB |
Output is correct |
14 |
Correct |
184 ms |
6648 KB |
Output is correct |
15 |
Correct |
210 ms |
7928 KB |
Output is correct |
16 |
Correct |
215 ms |
7944 KB |
Output is correct |
17 |
Correct |
208 ms |
8952 KB |
Output is correct |
18 |
Correct |
225 ms |
9848 KB |
Output is correct |
19 |
Correct |
220 ms |
8844 KB |
Output is correct |
20 |
Correct |
263 ms |
10708 KB |
Output is correct |