大佬,救命!!!RE
#include<bits/stdc++.h>
using namespace std;
long long n,Q;
struct Node{
long long a;
long long b;
long long z;
}q[100001];
void f(){
for(long long i=1;i<=n;i++){
q[i].b=q[i].a;
q[i].z=i;
}
for(long long i=1;i<=n;i++){
for(long long j=i;j>=2;j--){
if(q[j].b<q[j-1].b){
swap(q[j-1].b,q[j].b);
swap(q[j-1].z,q[j].z);
}
}
}
}
void f1(long long u,long long x){
for(long long i=1;i<=n;i++){
if(u==q[i].z){
q[i].b=x;
for(long long j=i;q[j].b<q[j-1].b;j--){
swap(q[j].b,q[j-1].b);
swap(q[j].z,q[j-1].z);
}
for(long long j=i;q[j].b>=q[j+1].b;j++){
swap(q[j].b,q[j+1].b);
swap(q[j].z,q[j+1].z);
}
break;
}
}
}
long long f2(long long x){
for(long long i=1;i<=n;i++){
if(x==q[i].z)return i;
}
}
int main(){
cin>>n>>Q;
for(long long i=1;i<=n;i++){
cin>>q[i].a;
q[i].z=i;
}
f();
while(Q--){
long long s,u,x;
scanf("%lld",&s);
if(s==1){
scanf("%lld%lld",&u,&x);
q[u].a=x;
f1(u,x);
}
if(s==2){
scanf("%lld",&u);
long long jp=f2(u);
printf("%lld\n",jp);
}
}
}
/*
3 4
3 2 1
2 3
1 3 2
2 2
2 3
10 10
584395437 584395437 797929861 522203818 381935688 862314366 522203818 797929861 835048540 589968305
1 2 991541492
1 4 883341961
1 9 584395437
2 2
1 2 797929861
1 2 280980536
2 4
1 9 471602987
1 4 584395437
1 8 379023047
*/