#Z2362. 黑盒子
黑盒子
黑盒子代表一个原始的数据库。
它可以用来储存整数数组,并且它拥有一个特殊变量 。
在最开始,黑盒子是空的,并且 。
现在对黑盒子进行一系列的操作处理,操作包括以下两种:
ADD(x):表示将 加入到黑盒子中。GET:使 增加 ,输出黑盒子中第 小的数值(即将所有数按升序排序后的第 个数)。
下面给出一个具体例子:
序号 操作 i 盒子内数(升序排列后) 输出的值
1 ADD(3) 0 3
2 GET 1 3 3
3 ADD(1) 1 1, 3
4 GET 2 1, 3 3
5 ADD(-4) 2 -4, 1, 3
6 ADD(2) 2 -4, 1, 2, 3
7 ADD(8) 2 -4, 1, 2, 3, 8
8 ADD(-1000) 2 -1000, -4, 1, 2, 3, 8
9 GET 3 -1000, -4, 1, 2, 3, 8 1
10 GET 4 -1000, -4, 1, 2, 3, 8 2
11 ADD(2) 4 -1000, -4, 1, 2, 2, 3, 8
为了方便描述,下面我们定义两个序列:
- :这个序列由加入到黑盒子内的所有元素按加入顺序排列后得到,上例中的 序列为 。
- :这个序列的第 项表示的是第 次
GET操作时,盒子内元素的数量。上例中的 序列为 。
现在请你根据给出的序列 和 求出操作过程中输出的所有数值。
输入格式
输入包括三行。
第一行包含两个整数 和 ,表示 序列和 序列的长度。
第二行包含 个整数,表示 序列的每一个元素。
第三行包含 个整数,表示 序列的每一个元素。
同行每个数之间用空格隔开。
输出格式
输出操作过程中所有 GET 操作输出的数值。
每个数值占一行。
数据范围
,
,
对于所有 (), 成立。
输入样例:
7 4
3 1 -4 2 8 -1000 2
1 2 6 6
输出样例:
3
3
1
2