代码如下,最后几个TLE了 TnT
#include<bits/stdc++.h>
using namespace std;
struct f{
int s,num;
}a[10000],b[10001];
bool cmp(f a,f b){
if(a.s!=b.s)return a.s<b.s;
else return a.num<b.num;
}
int main(){
int n,q,x,v,op;
cin>>n>>q;
for(int i=1;i<=n;i++){
cin>>a[i].s;
a[i].num=i;
b[i].s=a[i].s;
b[i].num=i;
}
while(q--){
cin>>op;
if(op==1){
cin>>x>>v;
a[x].s=v;
b[x].s=v;
}else{
cin>>x;
sort(b+1,b+n+1,cmp);
for(int i=1;i<=n;i++){
if(b[i].num==x){
cout<<i<<endl;
}
b[i].num=a[i].num;
b[i].s=a[i].s;
}
}
}
}