#indeednow2015quala3. [indeednow_2015_quala_3]説明会

[indeednow_2015_quala_3]説明会

问题文

某公司举办了一个选拔比赛,以选出参加说明会的学生。由于所选择的会场有最大容纳人数限制,选拔负责人现在正为设定边界线的分数而烦恼。

以下是选拔方法的说明:

  • 当边界线分数为 xx 时,只有得分高于等于 xx 的学生才被选入。
  • 换句话说,得分为 0 的学生不论会场容量如何都不会被选入。

现在给你 NN 个学生的分数以及 QQ 个候选会场的信息,每个会场的最大容纳人数为 k1,k2,...,kQk_1,k_2,...,k_Q。该公司计划在这些候选会场中的任意一个举办说明会。

你的任务是针对每个会场的候选选址,输出能够满足以下条件的最小边界线:根据上述方法筛选出的学生人数不超过 kik_i 人,并且是满足大于等于 0 的最小边界线。


输入

输入数据以以下格式从标准输入中给出。

NN s1s_1 s2s_2 : sNs_N QQ k1k_1 k2k_2 : kQk_Q

  • 第 1 行为学生数量 N(1N100,000)N (1≦N≦100,000)
  • 第 2 到第 N+1N+1 行为每个学生的分数。其中第 ii(1iN)(1≦i≦N) 为第 ii 个学生的得分 si(0si1,000,000)s_i (0≦s_i≦1,000,000)
  • N+2N+2 行为候选会场的数量 Q(1Q100,000)Q (1≦Q≦100,000)
  • N+3N+3 到第 N+Q+2N+Q+2 行为每个候选会场的最大容纳人数。其中第 ii(1iQ)(1≦i≦Q) 为第 ii 个会场的最大容纳人数 ki(0kiN)k_i (0≦k_i≦N)

输出

输出结果以 QQ 行形式给出,分别表示在每个候选会场中举办说明会时的边界线。


输入例子1


15
0
0
0
1
1
2
3
4
5
6
6
6
8
9
10
3
0
4
12

输出例子1


11
7
0

对于第一个会场,最大容纳人数为 0,因此不希望有人通过。而满足条件的最小边界线即为 11 分。

对于第二个会场,最大容纳人数为 4,因此需要设定一个使得选入人数不超过 4 的边界线。如果设定边界线为 6 分,则有 6 人通过,超过了最大容纳人数。而如果设定边界线为 7 分,则只有 3 人通过,刚好满足最大容纳人数,因此这是最小的边界线。

对于第三个会场,最大容纳人数为 12,但是边界线设为 0 分。原因是根据选拔方法,得分为 0 的学生无法通过,因此只有得分为正数的 12 人能够通过。


输入例子2


9
3
3
3
2
2
2
1
1
1
1
4

输出例子2


3

输入例子3


4
0
0
0
0
1
0

输出例子3


0

全员得分为 0 的情况也是可能的。此时,无论设置何种边界线,都没有学生能通过,因此边界线应设为 0 分。