比赛 树形数据结构拔高 评测结果 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;
}