#include <stdio.h>
// #define print() for (int i = 1; i <= n; i ++) printf("%d %d, ", l[i].num, l[i].i); printf("\n")
const int maxN = 8005;
struct node {
int i, num;
};
node l[8005];
int n, Q;
int x, y, z, p;
int main() {
scanf("%d%d", &n, &Q);
for (int i = 1; i <= n; i ++) {
scanf("%d", &l[i].num);
for (int j = 1; j <= i; j ++) {
if (l[j].num <= l[i].num) l[i].i ++;
else l[j].i ++;
}
}
// print();
for (int i = 1; i <= Q; i ++) {
scanf("%d%d", &x, &y);
if (x == 2) {
printf("%d\n", l[y].i);
} else {
scanf("%d", &z);
p = l[y].num;
l[y].num = z;
l[y].i = 0;
for (int j = 1; j <= n; j ++) {
if (l[j].num <= l[y].num) l[y].i ++;
if (j == y) continue;
if (z >= l[j].num && l[j].num >= p) l[j].i --;
if (z <= l[j].num && l[j].num <= p) l[j].i ++;
}
// print();
}
}
return 0;
}
本地测试大样例3过不了,求调