52求救
查看原帖
52求救
1431934
h18993665831楼主2025/6/19 00:08
#include<bits/stdc++.h>
using namespace std;
struct aa{
    int val;
    int tmp;
};
int main(){
    int n,Q;
    scanf("%d%d",&n,&Q);
    aa a[n+1],b[n+1];
    for(int i=1;i<=n;i++){
    	scanf("%d",&a[i].val);
    	a[i].tmp=i;
    	b[i]=a[i];
	}
    bool flag=false;
	for(int i=1;i<=Q;i++){
    	int f;
    	scanf("%d",&f);
    	if(!flag){
    		for(int i=1;i<=n;i++){
    			a[i]=b[i];
			}
		}
    	
    	if(f==1){
    		int x,u;
    		scanf("%d%d",&x,&u);
    		b[x].val=u;	
            flag=false;
		}
		if(f==2){
			int x;
			scanf("%d",&x);		
            if(flag==false){
                for (int i=1;i<=n;i++){
					for (int j=i;j>=2;j--){
						if (a[j].val<a[j-1].val){
      						swap(a[j],a[j-1]);
    					}
					}
				}
                flag=true;
                for(int i=1;i<=n;i++){					
					if(a[i].tmp==x){
						printf("%d\n",i);
                        break;
					}
				}
				continue;
            }
                   				
			for(int i=1;i<=n;i++){
				if(a[i].tmp==x){
					printf("%d\n",i);
                    break;
				}
			}
		}
	}
    return 0;
}
2025/6/19 00:08
加载中...