W了, W了!大佬们救救孩子吧
查看原帖
W了, W了!大佬们救救孩子吧
527243
Iamzzr楼主2021/10/25 12:33
#include <bits/stdc++.h>
using namespace std;
#define M 10005
int n=0, q=0;
int a[M], b[M], id[M], ans[M];
void qian(int x, int v){
	bool flag=0;
	int c=0;
	for(int i=1; i<=n; i++){
		if(id[i]==x){
			c=id[i];
			flag=1;
		} 
		if(flag==1){
			b[i]=b[i+1];
			id[i]=id[i+1];
		} 
	}
	b[n]=v; id[n]=c;
}
int main(){
//	freopen("sort3.in", "r", stdin);
	cin>>n>>q;
	for(int i=1; i<=n; i++){
		cin>>a[i];
		id[i]=i;
		b[i]=a[i];
		for(int j=i; j>=2; j--){
			if(b[j]<b[j-1]){
				swap(b[j], b[j-1]);
				swap(id[j], id[j-1]);
			}
		}
	}
	int h=0;
	for(int i=1; i<=q; i++){
		int x=0, v=0, p=0;
		cin>>p;
		if(p==1){
			cin>>x>>v;
			qian(x, v);
			for(int j=n; j>=2; j--){
				if(b[j]<b[j-1]){
					swap(b[j], b[j-1]);
					swap(id[j], id[j-1]); 
				}
				else if(b[j]==b[j-1] && id[j]<id[j-1]){
					swap(b[j], b[j-1]);
					swap(id[j], id[j-1]); 
				}
			}
				
		}
		else if(p==2){
			cin>>x;
			for(int j=1; j<=n; j++){
				if(id[j]==x){
					cout<<j<<endl;
					break; 
				}
			}
		}
	}
	return 0;
}
2021/10/25 12:33
加载中...