维护一个长为 n 的数组 a。对其进行 q 次操作。第 i 次操作输入三个整数 t_i,x_i,y_i。按如下规则操作:
- t_i=1 时:将 a_{x_i} 的值改为 y_i。此时,1 \le x_i \le n,0 \le y_i \le 10^9。
- t_i=2 时:找出 [x_i,y_i] 区间内的最小值,将其记为 p,输出所有满足以下两个条件的整数 j:
> - x_i \le j \le y_i;
> - a_j=p。
- 此时,1 \le x_i \le y_i \le n。
第一行为数组长度 n 和操作次数 q。1 \le n,q \le 2 \times 10^5。
第二行为 n 个整数,表示数组 a。0\le a_i \le 10^9。
对于每个 t_i=2 的操作,先输出满足条件的 j 的个数 m,再按照递增的顺序输出所有满足条件的 j。相邻两个数之间以单个空格隔开,输出完要换行。保证满足条件的 j 的总个数不超过 2 \times 10^5。
6 7 3 20 3 10 15 10 2 1 6 2 4 5 1 3 10 1 1 1000000000 2 1 6 1 5 0 2 1 6
2 1 3 1 4 3 3 4 6 1 5
40%的数据:1 \le n,q \le 2 \times 1000。
100%的数据:1 \le n,q \le 2 \times 10^5。
时间限制 | 1 秒 |
内存限制 | 128 MB |