#M1015. 选糖果

选糖果

题目描述

小 Z 正在超市中选一会上课要吃的糖果,但他的口袋不大,一旦买了太多的糖果的话,就有可能被班主任发现了!

超市中有 NN 颗糖果可选,编号为 1,2,,N1,2,\dots, N,其中 ii 号糖果的甜度为 aia_i。现在有 qq 次询问,每次询问给你一个期望总甜度 xx,问最少选择几颗糖果,可以使得选出的糖果总甜度大于等于 xx

  • 注意:每次询问中,不能多次选择同一颗糖,但是每次询问都是独立的,即不同询问可以选择同一颗糖。

输入格式

第一行输入 NNqq ,代表一共有多少颗糖果,和总询问次数。

第二行输入 NN 个数,a1,a2,,aNa_1,a_2,\dots,a_N 代表每颗糖果的甜度。

接下来 qq 行,每行输入一个整数 xx,代表每次询问中的期望总甜度。

输出格式

一共 NN 行,每行一个整数,代表每次询问的结果,若不能够达到该次询问中的总甜度,则输出 -1

样例 #1

样例输入 #1

8 3
4 3 3 1 1 4 5 9
1
10
50

样例输出 #1

1
2
-1

提示

【样例提示】

第 1 个询问中,可以选择甜度为 11 的糖果

第 2 个询问中,可以选择甜度为 5,95,9 的糖果

第 3 个询问中,选择不出对应总甜度的糖果

【数据范围】

对于前 60%60\% 的数据,满足 $n\le 10^3, q \le 10^3, a_i \le 10^3, x \le 2 \times 10^7$;

对于 100%100\% 的数据,满足 $n\le 10^5, q \le 10^5, a_i \le 10^4, x \le 2 \times 10^9$。