提交时间:2021-12-13 13:36:52

运行 ID: 35092

#include<bits/stdc++.h> using namespace std; int n,q,a[8005]; inline int lxk() { int xx=0; char c=getchar(); for(; c<'0' || c>'9'; c=getchar()); for(; c<='9' && c>='0'; c=getchar()) xx=(xx<<3)+(xx<<1)+(xx^48); return xx; } int main() { n=lxk(),q=lxk(); for(register int i=1; i<=n; ++i) a[i]=lxk(); for(register int i=1,o,x,v; i<=q; ++i) { scanf("%d",&o); if(o==1) { x=lxk(),v=lxk(); a[x]=v; } else { int ans=0; x=lxk(); for(register int j=1; j<=x; ++j) if(a[j]<=a[x]) ++ans; for(register int j=x+1; j<=n; ++j) if(a[j]<a[x]) ++ans; printf("%d\n",ans); } } return 0; }