样例1 2 1 2求助
查看原帖
样例1 2 1 2求助
1295306
yyh2024楼主2024/8/11 19:04

见代码

#include<bits/stdc++.h>
using namespace std;
int a[8005],id[8005],ip[8005];
int main(){
	int n,q,opt,x,v,t;
	scanf("%d%d",&n,&q);
	for(int i=0;i<n;i++){
		scanf("%d",&a[i]);
		id[i]=i;
	}
	for(int i=0;i<n;i++){
		ip[id[i]]=i;
	}
	for(int i=1;i<=q;i++){
		scanf("%d",&opt);
		if(opt==1){
			scanf("%d%d",&x,&v);
			a[id[x-1]]=v;
			for(int j=n-1;j>=1;j--){
				if(a[j-1]>a[j]){
					t=a[j-1];
					a[j]=a[j-1];
					a[j-1]=a[j];
					t=id[j];
					id[j]=id[j-1];
					id[j-1]=t;
				}
			}
			for(int j=1;j<n;j++){
				if(a[j-1]>a[j]){
					t=a[j-1];
					a[j]=a[j-1];
					a[j-1]=a[j];
					t=id[j];
					id[j]=id[j-1];
					id[j-1]=t;
				}
			}
			for(int j=0;j<n;j++){
				ip[id[i]]=i;
			}
		}
		else{
			scanf("%d",&x);
			printf("%d\n",ip[x-1]);
		}
	}
	return 0;
}
2024/8/11 19:04
加载中...