52分求调
查看原帖
52分求调
1406526
cmbdgddl楼主2024/10/23 22:20

超时了

#include<bits/stdc++.h>
using namespace std;
long long n,q;
int a[8005],a1[8005],f[8005],f1[8005];
int main(){
	cin>>n>>q;
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
		a1[i]=a[i];
        f[i]=i;
	}while(q--){
		for(int i=1;i<=n;i++){
            a1[i]=a[i];
            f1[i]=i;
        }
		int num,x,v;
        scanf("%d",&num);
		if(num==1){
			scanf("%d%d",&x,&v);
			a[x]=v;
		}else{
			scanf("%d",&x);
			for(int i=1;i<=n;i++){
				for(int j=i;j>=2;j--){
					if(a1[j]<a1[j-1]){
                        swap(a1[j],a1[j-1]);
                        swap(f1[j],f1[j-1]);
                    }
				}
			}
			for(int i=1;i<=n;i++){
                if(f[x]==f1[i]){
                   printf("%d\n",i);
                    break;
                }
            }
		}
	}
	return 0;
} 
2024/10/23 22:20
加载中...