问题 3651 --黑匣子

3651: 黑匣子

时间限制: 1 Sec  内存限制: 256 MB
提交: 7  解决: 2
[提交][状态][讨论版][命题人:]

题目描述

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

命令只有两种:

  • ADD(x):把x元素放进 Black Box;

  • GET:i加1,然后输出 Black Box 中第i小的数

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

我们来演示一下一个有1个命令的命令串。(如下表所示)



现在要求找出对于给定的命令串的最好的处理方法。ADD 命令共有m个,GET 命令共有n个。现在用两个整数数组来表示命令串:

  1. a1,a2,a3...an:一串将要被放进 Black Box 的元素。例如上面的例子中a=[3,1,4,2,8,1000,2]

  2. u1,u2,u3...um:表示第ui个元素被放进了 Black Box 里后就出现一个 GET 命令。例如上面的例子中 u=[1,2,6,6] 。输入数据不用判错。



输入

第一行两个整数m 和n,表示元素的个数和 GET 命令的个数。

第二行共m个整数,从左至右第i个整数为ai,用空格隔开。

第三行共n个整数,从左至右第i个整数为ui,用空格隔开。

输出

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

样例输入

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

样例输出

3
3
1
2

提示


数据规模与约定




  • 对于30% 的数据:1n,m10^4


  • 对于50% 的数据:1n,m10^5


  • 对于100% 的数据:1n,m2×10^5,ai2×10^9,保证u序列单调不降。

来源

 

[提交][状态]