超时求助
查看原帖
超时求助
1145211
GaoHenry2011楼主2024/10/3 11:22
#include<iostream>
#include<cmath>
#include<algorithm>
#include<cstdio>
#include<string>
#include<cstring>
using namespace std;
int n,m;
struct team{
	int p,n,f=0;
}a[999999];
int k,x,v;
int b[999999];
bool cmp(team a,team b){
	if(a.n==b.n) return a.p<b.p;
	else return a.n<b.n;
}
int main(){
   // freopen("sort.in","r",stdin);
   // freopen("sort.out","w",stdout);
    cin>>n>>m;
    for(int i=1;i<=n;i++){
    	cin>>a[i].n;
    	a[i].p=i;
	}
	sort(a+1,a+1+n,cmp);
	for(int j=1;j<=n;j++) b[a[j].p]=j;
	for(int i=1;i<=m;i++){
		cin>>k;
		if(k==1){
			cin>>x>>v;
			a[b[x]].n=v;
			sort(a+1,a+1+n,cmp);
			for(int j=1;j<=n;j++) b[a[j].p]=j;
		}else{
			cin>>x;
			cout<<b[x]<<endl;
		}
	}
    return 0;
}
2024/10/3 11:22
加载中...