比赛场次 103
比赛名称 20111021
比赛状态 已结束比赛成绩
开始时间 2011-10-21 18:50:00
结束时间 2011-10-21 22:00:00
开放分组 全部用户
注释介绍
题目名称 黑盒子
输入输出 blackbox.in/out
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试点数 16 简单对比
用户 结果 时间 内存 得分
Gravatarreamb AAAAAA 0.000 s 0.00 MiB 100
GravatarTBK AAAAAA 0.000 s 0.00 MiB 100
GravatarTruth.Cirno AAAAAA 0.000 s 0.00 MiB 100
GravatarThalarinzar AAAAAT 0.000 s 0.00 MiB 83
Gravatarhello! EEEEEE 0.000 s 0.00 MiB 66
Gravatarsong EEEEEE 0.000 s 0.00 MiB 66
GravatarMakazeu AAAATT 0.000 s 0.00 MiB 66
GravatarDes. AAAATT 0.000 s 0.00 MiB 66
Gravatarmagic AAWAAW 0.000 s 0.00 MiB 66
Gravatar11111111 AAATTT 0.000 s 0.00 MiB 50
Gravatar风华正茂 ATTTEE 0.000 s 0.00 MiB 16
Gravatar日光。 EEEEEW 0.000 s 0.00 MiB 0
Gravatar苏轼 WWWWTT 0.000 s 0.00 MiB 0
GravatarYeehok WWTTTT 0.000 s 0.00 MiB 0
Gravatar临轩听雨ゐ WWWWWW 0.000 s 0.00 MiB 0
GravatarCloud WWWWWW 0.000 s 0.00 MiB 0

黑盒子

★★★   输入文件:blackbox.in   输出文件:blackbox.out   简单对比
时间限制:1 s   内存限制:128 MiB

【问题描述】

我们使用黑盒子的一个简单模型。它能存放一个整数序列和一个特别的变量$i$。在初始时刻,黑盒子为空且$i$等于$0$。这个黑盒子能执行一系列的命令。有两类命令: 

ADD(x):把元素$x$放入黑匣子;

GET:把$i$加$1$的同时,输出黑匣子内所有整数中第$i$小的数。

下面的表是一个11个命令的例子:

编号 命令 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  
 

定义ADD命令的个数为$m$个,GET命令的个数为$n$个。我们用下面的两个整数序列描述命令序列:

(1)$a_1,a_2,\cdots,a_m$:加入黑匣子的元素序列。例如在上例中$a=\{3,1,-4,2,8,-1000,2\}$。

(2)$u_1,u_2,\cdots,u_n$:$u_i$表示第$i$个GET命令在第$u_i$个ADD命令之后,例如在上例中,$u=\{1,2,6,6\}$。

现在请你根据给出的序列$a$和$u$求出操作过程中输出的所有数值。

【输入格式】

输入包括三行。

第一行包含两个整数$m,n$,表示$a$序列和 $u$ 序列的长度。

第二行包含$m$个整数,表示$a$序列的每一个元素。

第三行包含$n$个整数,表示$u$序列的每一个元素。

同行每个数之间用空格隔开。

【输出格式】

输出操作过程中所有GET操作输出的数值。

每个数值占一行。

【输入样例】

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

【输出样例】

3
3
1
2

【数据范围】

$|a_i|\leq 2\times 10^9,1\leq n\leq m\leq 30000$,对于所有的$p(1\leq p\leq n),p\leq u(p)\leq m$成立。