#P1748. 黑盒子

黑盒子

题目描述

Black Box 是一种原始的数据库。它可以存储一个整数数组,还有一个特别的变量 i。最开始的时候 Black Box 是空的,而 i 等于 0。这个 Black Box 要处理一串命令。

命令只有两种:

  • ADD(x):把 x 元素放进 Black Box;
  • GET:i 加 1,然后输出 Black Box 中第 i 小的数。

记住:第 i 小的数,就是 Black Box 里的数按从小到大的顺序排序后的第 i 个元素。

现在要求找出对于给定的命令串的最好的处理方法。ADD 和 GET 命令分别最多有 200000 个。

现在用两个整数数组来表示命令串:

  1. A(1), A(2), …, A(M):一串将要被放进 Black Box 的元素。每个数都是绝对值不超过 2000000000 的整数,M ≤ 200000。
  2. u(1), u(2), …, u(N):表示第 u(j) 个元素被放进了 Black Box 里后就出现了一个 GET 命令。

输入数据不用判错。

输入格式

第一行,两个整数 M, N。

第二行,M 个整数,表示 A(1) …… A(M)。

第三行,N 个整数,表示 u(1) …… u(N)。

输出格式

输出 Black Box 根据命令串所得出的输出串,一个数字一行。

样例输入

7 4
3 1 -4 2 8 -1000 2
1 2 6 6

样例输出

3
3
1
2

提示

对于 30% 的数据,M ≤ 10000; 对于 50% 的数据,M ≤ 100000; 对于 100% 的数据,M ≤ 200000。

注意:题目中 ADD 和 GET 命令分别最多有 200000 个,即 M 和 N 均不超过 200000。