int main(){ // freopen(".in","r",stdin); // freopen(".out","w",stdout); n=read();m=read(); for(_R int i=2;i<=n+1;++i)a[i]=read(); maxx[0]=-INF;a[1]=a[n+2]=-INF; root=build(0,1,n+2); int op,l,r,x,val; while(m--){ op=read(); if(op==1)x=read()+1,printf("%d\n",query(x)); if(op==2)x=read()+1,val=read(),revise(x,val); if(op==3)l=read()+1,r=read()+1,printf("%d\n",query(l,r,0)); if(op==4)l=read()+1,r=read()+1,printf("%d\n",query(l,r,1)); if(op==5)l=read()+1,r=read()+1,reverse(l,r); } return 0; }
11

相关推荐

11-27 12:43
已编辑
门头沟学院 C++
点赞 评论 收藏
分享
听说改名字就能收到offer哈:Radis写错了兄弟
点赞 评论 收藏
分享
已老实求offer😫:有点像徐坤(没有冒犯的意思哈)
点赞 评论 收藏
分享
小红书 后端选手 n*16*1.18+签字费期权
点赞 评论 收藏
分享
牛客网
牛客企业服务