#J20001. 茶包

茶包

问题描述

在扑克桌上,有 NN 种不同口味的茶包,口味编号为 11NN。第 ii 种口味共有 AiA_i 个茶包。

你将利用这些茶包进行一个游戏。游戏有一个称为难度的参数,其取值范围为 11i=1NAi\sum_{i=1}^{N}A_i

对于难度为 bb 的游戏,流程如下:

  • 你声明一个整数 xx,满足 bxi=1NAib\le x\le\sum_{i=1}^{N}A_i
  • 庄家从所有茶包中任选恰好 xx 个交给你;
  • 你查看这 xx 个茶包,并从中选出恰好 bb 个;
  • 如果所选出的 bb 个茶包全部属于同一种口味,则你获胜;否则失败。

庄家会采用最优策略使你失败。

共有 QQ 次询问。对于每次询问,给定难度 BjB_j,请输出为了保证无论庄家如何选择茶包,你都一定能够获胜时,所需声明的最小整数 xx。如果不存在这样的 xx,输出 1-1

输入格式

第一行输入两个整数 N,QN,Q

第二行输入 NN 个整数 A1,A2,,ANA_1,A_2,\dots,A_N

接下来 QQ 行,每行输入一个整数 BjB_j,表示一次询问的难度。

输出格式

输出共 QQ 行。

对于每个询问,输出对应的最小整数 xx;如果不存在满足条件的 xx,输出 1-1

样例输入 1

4 5
4 1 8 4
1
8
5
2
10

样例输出 1

1
17
14
5
-1

样例输入 2

5 3
13 13 13 13 2
5
12
13

样例输出 2

19
47
51

说明

对于第一个样例:

  • 当难度为 11 时,声明 x=1x=1 即可,因为无论庄家给出哪个茶包,你都可以直接选择它,因此答案为 11

  • 当难度为 88 时,声明 x=17x=17 可以保证无论庄家如何选择,你都能够找到同一种口味的 88 个茶包;若 x<17x<17,庄家可以选择一种方案使你无法获胜,因此答案为 1717

  • 当难度为 55 时,答案为 1414

  • 当难度为 22 时,答案为 55

  • 当难度为 1010 时,无论声明什么合法的 xx,庄家都能够使你无法选出同一种口味的 1010 个茶包,因此输出 1-1

评测数据规模

  • 1N3×1051\le N\le3\times10^5
  • 1Q3×1051\le Q\le3\times10^5
  • 1Ai1061\le A_i\le10^6
  • 1Bjmin(106,i=1NAi)1\le B_j\le\min\left(10^6,\sum_{i=1}^{N}A_i\right)
  • 所有输入数据均为整数。