#YDRB006C. 游戏

游戏

游戏

题目描述

奶龙和小七在玩游戏。

小七有 nn 张牌,第 ii 张牌点数为 aia_i

游戏共 qq 轮,每轮奶龙需要选择一些牌,使它们的点数相加可以得到不小于 xx 的点数。奶龙想让你告诉他最少选择几张牌,无解输出 -1

每轮选择后,奶龙会把牌重新放回去。换句话说,每轮游戏独立。

输入格式

第一行,nnqq

第二行 nn 个整数,aia_i

接下来的 qq 行,qiq_i

输出格式

qq 行,每行输出最少选择牌的张数,无解输出 -1

样例 #1

样例输入 #1

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

样例输出 #1

1
2
-1
2
3
4
8

样例 #2

样例输入 #2

4 1
1 2 3 4
3

样例输出 #2

提示

数据范围:

对于 30%30\% 的数据,n20,q10,ai104,qi105n\leq 20, q \leq 10,a_i\leq 10^4,q_i\leq 10^5;

对于另外 20%20\% 的数据,n=1,q105,ai,qi105n=1,q\leq 10^5,a_i,q_i\leq 10^5;

对于 100%100\% 的数据,1n,q5×105,1ai5×109,1qi5×10151\leq n, q \leq 5\times 10^5, 1\leq a_i \leq 5 \times 10^9, 1\leq q_i \leq 5 \times 10^{15}