#2612. 送礼

送礼

当前没有测试数据。

题目描述

nn 颗糖,吃第 ii 颗糖可以得到 aia_i 的糖分。

qq 次询问,每次询问最少吃多少颗糖可以得到不小于 xx 的糖分,无解输出 -1

注意:在每次询问中,不能多次吃同一颗糖;每次询问互相独立,即不同询问可以吃同一颗糖。

输入格式

输入的第一行包含一个整数tt (11tt10001000)——测试用例的数量。下面是测试用例的描述。

第一行包含22整数nnqq (11nn,qq1.51.5⋅$100^5$)——分别表示小A拥有的糖果数量和需要打印答案的查询数量。

第二行包含nn整数$a11,,a22,,,,ann​$ (11aai10104^4)——分别表示每种糖果的含糖量。

然后是qq

接下来的每一行qq都包含一个整数xxj (11xxj22⋅$100^9$)——小A想要达到给定查询的数量。

可以保证所有测试用例的nnqq的总和不超过1.51.5⋅$100^5$。

输出格式

对于每个测试用例输出qq行。对于jj -第一行,输出帖木儿需要吃的糖的数量,以达到大于或等于xxj的糖量,如果不可能获得这样的数量,则打印-1。

输入样例

3
8 7
4 3 3 1 1 4 5 9
1
10
50
14
15
22
30
4 1
1 2 3 4
3
1 2
5
4
6
1
2
-1
2
3
4
8
1
1
-1

样例解释

对于第一个测试用例:

对于第一个问题,帖木儿可以吃任何糖果,他会达到所需的数量。

对于第二个问题,帖木儿可以通过吃第7美元和第8美元的糖果达到至少10美元的数量,因此消耗的糖量等于14美元。

对于第三个查询,没有可能的答案。

对于第四个问题,帖木儿可以通过吃第7美元和第8美元的糖果达到至少14美元的数量,因此消耗的糖量等于14美元。

对于第二个测试用例:

对于第二个测试用例的唯一查询,我们可以选择Timur从中正好收到33糖的第三个糖果。选择第四个糖果也可以得到相同的答案。