比赛 |
树形数据结构拔高 |
评测结果 |
WWWWTTTTTT |
题目名称 |
聪聪的世界 |
最终得分 |
0 |
用户昵称 |
李奇文 |
运行时间 |
45.757 s |
代码语言 |
C++ |
内存使用 |
5.65 MiB |
提交时间 |
2025-04-17 21:02:34 |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+5;
int n,m,a[N];
int main(){
freopen("ccsworld.in","r",stdin);
freopen("ccsworld.out","w",stdout);
std::cin>>n>>m;
for(int i=1;i<=n;i++){
std::cin>>a[i];
}
for(int i=1;i<=m;i++){
int op,x,y,w,ans=-1;
std::cin>>op>>x;
if(op==1){
for(int j=x-1;j>=1;j--){
if(a[j]<a[x]){
ans=a[j];
break;
}
}
std::cout<<ans<<endl;
}else if(op==2){
for(int j=x-1;j>=1;j--){
if(a[j]>a[x]){
ans=a[j];
break;
}
}
std::cout<<ans<<endl;
}else if(op==3){
for(int j=x+1;j<=n;j++){
if(a[j]<a[x]){
ans=a[j];
break;
}
}
std::cout<<ans<<endl;
}else if(op==4){
for(int j=x+1;j<=n;j++){
if(a[j]>a[x]){
ans=a[j];
break;
}
}
std::cout<<ans<<endl;
}else if(op==5){
std::cin>>y;
swap(a[x],a[y]);
}else if(op==6){
std::cin>>y>>w;
for(int j=x;j<=y;j++){
a[j]+=w;
}
}else{
std::cin>>y>>w;
for(int j=x;j<=y;j++){
a[j]-=w;
}
}
}
return 0;
}