我只是把循环分段写了就过了。
#include<iostream>
using namespace std;
int main(){
//freopen("sort.in","r",stdin);
//freopen("sort.out","w",stdout);
int n,q;
cin >> n >> q;
int a[8005];
for(int i = 1; i <= n; i++) cin >> a[i];
int x,y,z;
for(int i = 0;i < q; i++){
cin >> x;
if(x == 1)
{
cin >> y >> z;
a[y] = z;
}
else if(x == 2)
{
cin >> y;
int cnt = 1;
for(int i = 1; i < y; i++)
if(a[i] <= a[y]) cnt ++;
for(int i = y + 1; i <= n; i++)
if(a[i] < a[y]) cnt ++;
cout << cnt << endl;
}
}
return 0;
}