#1019. 黑盒子

黑盒子

Description

黑盒子代表一个原始数据库,存储一个整数数组和一个特殊的ii 变量。最初的时刻,黑盒子是空的,i=0i =0,黑盒子处理一系列命令(事务)。有两种类型的事务:ADD(x)①ADD(x ),将元素xx 放入黑盒子中;GET②GET,将ii 增加11,并给出包含在黑盒子中的所有整数中第ii 小的值。第ii 小的值是黑盒子中按非降序排序后第ii 个位置的数字。示例如下: image 写一个有效的算法来处理给定的事务序列。ADDADDGETGET事务的最大数量均为3000030000,用两个整数数组来描述事务的顺序:A(1),A(2),,A(M)①A(1), A(2), …,A(M ),包含黑盒子中的一系列元素,AA值是绝对值不超过20000000002 000 000000的整数,M30000M ≤30000. 对上面的示例,序列A=(3,1,4,2,8,1000,2);②u(1),u(2),,u(N)A=(3, 1,-4, 2,8,-1000, 2);②u (1), u (2), …, u (N ),表示在第11个、第22个,以此类推,直到第NNGETGET事务时包含在黑盒子中的元素个数。 对上面的示例,u=(1,2,6,6u =(1, 2, 6, 6)。假设自然数序列u(1),u(2),,u(N)u (1), u (2), …, u (N)按非降序排序,则对uu 序列的第pp 个元素执行GETGET事务,实际上是找A(1),A(2),,A(u(p))A(1), A(2), …, A(u (p ))序列中第pp 小的数。

Input

输入包含(按给定顺序)$M , N , A(1), A(2), …, A(M), u (1), u (2), …, u (N )。$

Output

按照给定的事务顺序输出答案序列,每行一个数字。

Samples

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

来源

POJ1442