CF1491A.th Largest Value

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

th Largest Value

题目描述

给你一个包含 nn 个整数的数组 aa,初始值 aia_i 满足 0ai10 \leq a_i \leq 1。你需要处理以下两种请求:

  • 1 x:将 axa_x 的值变成 1ax1-a_x
  • 2 k:输出数组中第 kk 大的数

其中,第 kk 大的数指将数组降序排序后的第 kk 个数,比如 [0,1,0,1][0,1,0,1] 中第 22 大的数为 11,是将其降序排序为 [1,1,0,0][1,1,0,0] 后的其中第 22 个数。

输入格式

第一行包含两个整数 n,qn,q (1n,q1051 \leq n,q \leq 10^5) —— aa 数组长度与请求的数量。

第二行包含 nn 个整数 a1,a2,a3,...,ana_1,a_2,a_3,...,a_n (0ai10 \leq a_i \leq 1) —— aa 数组的初始值。

接下来 qq 行,每行两个整数。第一个整数为 tt (1t21 \leq t \leq 2) —— 请求种类。

  • t=1t=1,那么第二个整数为 xx (1xn1 \leq x \leq n) —— 修改 axa_x 的值为 1ax1-a_x
  • t=2t=2,那么第二个整数为 kk (1kn1 \leq k \leq n) —— 输出第 kk 大的值。

保证至少有一个 t=2t=2 的请求。

输出格式

对每个 t=2t=2 的请求,输出一个整数。

样例

5 5
1 1 0 1 0
2 3
1 2
2 3
2 1
2 5
1
0
1
0

在线编程 IDE

建议全屏模式获得最佳体验