#XMOJ12273. 这里QK一下

这里QK一下

说明

时间限制:1 Sec 内存限制:256 MB 输入文件:qk.in 输出文件:qk.out

给定整数 $Q,K$,请处理 $Q$ 个查询。

- 类型 1:向数组 $S$ 中添加一个数 $v$。

- 类型 2:若数组 $S$ 的元素个数大于等于 $K$,输出 $S$ 中第 $K$ 小的元素,并将该元素从数组中删除;若元素个数不足 $K$,输出 $-1$。

注意:所有类型 $2$ 查询共用同一个 $K$。

输入格式

第一行两个整数 $Q,K$。

接下来 $Q$ 行,每行一个查询。

类型 $1$ 查询格式:$1$ $v_i$

类型 $2$ 查询格式:$2$

输出格式

按顺序输出每个类型 $2$ 查询对应的答案,每个答案单独一行。

样例

样例 1

15 3
1 3
1 4
1 5
2
2
1 10
1 10
1 1
2
1 3
2
1 1000
2
1 0
2

5
-1
4
3
10
3

样例说明:

数组变化过程:

1~3 查询:$S={3,4,5}$

第 $4$ 个查询:输出 $5$,$S={3,4}$

第 $5$ 个查询:输出 $-1$,$S={3,4}$

6~8 查询:$S={1,3,4,10,10}$

第 $9$ 个查询:输出 $4$,$S={1,3,10,10}$

第 $10$ 个查询:$S={1,3,3,10,10}$

第 $11$ 个查询:输出 $3$,$S={1,3,10,10}$

第 $12$ 个查询:$S={1,3,10,10,1000}$

第 $13$ 个查询:输出 $10$,$S={1,3,10,1000}$

第 $14$ 个查询:$S={0,1,3,10,1000}$

第 $15$ 个查询:输出 $3$,$S={0,1,10,1000}$

样例 2

4 1
1 10
1 10
2
2

10
10

样例说明:

数组可以存在重复数字;类型 22 每次只删除一个元素。

样例 3

4 2
1 9
1 10000000000000000
1 90000000000000000
2

10000000000000000

样例说明:

存在极大数值,99、101610^{16}、9×10169\times10^{16},第 22 小为 101610^{16}。

样例 4

1 1
2

-1

数据范围

对于 8% 的数据,$Q,K,v_i \le 100$。

对于 12% 的数据,$Q,K \le 100$。

对于 24% 的数据,$K \le 1000$。

另有 8% 的数据,$K=1$。

对于 100% 的数据,满足 $1 \le Q \le 2\times 10^5$,$1 \le K \le 2\times 10^5$,$0 \le v_i \le 10^{18}$,保证至少存在一个类型 $2$ 查询。

提示

输入输出行数很大,注意 IO 速度!