直接AK
2025-07-28 21:12:03
发布于:安徽
24阅读
0回复
0点赞
#include<iostream>
#include<algorithm>
using namespace std;
const int MAXN=2e5+25;
struct node{
int val,id;
bool operator<(const node &a) const{
if(val!=a.val) return val<a.val;
return id<a.id;
}
};
int n,q,op,x,y;
int pos[MAXN];
node a[MAXN];
int main(){
cin>>n>>q;
for(int i=1;i<=n;i++){
cin>>a[i].val;
a[i].id=i;
}
sort(a+1,a+1+n);
for(int i=1;i<=n;i++) pos[a[i].id]=i;
while(q--){
cin>>op>>x;
if(op==1){
cin>>y;
a[pos[x]].val=y;
for(int i=n;i>1;i--) if(a[i]<a[i-1]) swap(a[i],a[i-1]);
for(int i=2;i<=n;i++) if(a[i]<a[i-1]) swap(a[i],a[i-1]);
for(int i=1;i<=n;i++) pos[a[i].id]=i;
}
else cout<<pos[x]<<'\n';
}
return 0;
}
这里空空如也
有帮助,赞一个