求调
查看原帖
求调
749793
chenshixian楼主2024/10/18 23:00

求调

本人代码40 按正解写的

#include<bits/stdc++.h>
using namespace std;
int a[8888],b[8888],c[8888];
signed main(){
	int n,q;
	cin>>n>>q;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		b[i]=c[i]=i;
		for(int j=i;j>=2;j--){
			if(a[b[j]]<a[b[j-1]]){
				swap(c[b[j]],c[b[j-1]]);
				swap(b[j],b[j-1]);
			}
			else break;
		}
	}
	while(q--){
		int z;
		cin>>z;
		if(z==1){
			int x,y;
			cin>>x>>y;
			a[x]=y;
			for(int i=1;i<=n;i++){
				for(int j=i;j>=2;j--){
					if(a[b[j]]<a[b[j-1]]){
						swap(c[b[j]],c[b[j-1]]);
						swap(b[j],b[j-1]);
					}
					else break;
				}
			}
		}
		else{
			int x;
			cin>>x;
			cout<<c[x]<<"\n";
		}
	}
	return 0;	
}
2024/10/18 23:00
加载中...