#include <iostream>
#include <cstdio>
#include <bits/stdc++.h>
using namespace std;
int n,q,s[100050],type,x,y,i;
struct s{
int num;
int xb;
}a[100050];
int cmp(s x,s y){
if(x.num==y.num){
return x.xb<y.xb;
}else{
return x.num<y.num;
}
}
int main(){
cin>>n>>q;
for(i=1;i<=n;i++){
cin>>a[i].num;
a[i].xb=i;
}
sort(a+1,a+n+1,cmp);
for(i=1;i<=n;i++){
s[a[i].xb]=i;
}
while(q!=0){
cin>>type;
if(type==2){
cin>>x;
cout<<s[x]<<endl;
}else{
cin>>x>>y;
a[w[x]].num=y;
for(i=s[x];i>=2;i--){
if(a[i].num<a[i-1].num || (a[i].num==a[i-1].num && a[i].xb<a[i-1].xb)){
swap(a[i],a[i-1]);
}
}
for(i=s[x];i<n;i++){
if(a[i].num>a[i+1].num || (a[i].num==a[i+1].num && a[i].xb>a[i+1].xb)){
swap(a[i],a[i+1]);
}
}
for(i=1;i<=n;i++){
s[a[i].xb]=i;
}
}
q--;
}
return 0;
}
运行好多次了
老实说无法运行
为啥呀???
求求了