问题 E:选糖果ecandy.cpp
文件提交:文件名:ecandy
内存限制:128 MB
时间限制:1.000 S
评测方式:普通裁判
金币值:
命题人:
1
提交:187
解决:6
题目描述
## 题目描述
张老师正在超市中选一会上课要吃的糖果,但他的口袋不大,一旦买了太多的糖果的话,就有可能被班主任发现了!
超市中有 $N$ 颗糖果可选,编号为 $1,2,\dots, N$,其中 $i$ 号糖果的甜度为 $a_i$。现在有 $q$ 次询问,每次询问给你一个期望总甜度 $x$,问最少选择几颗糖果,可以使得选出的糖果总甜度大于等于 $x$。
- 注意:每次询问中,不能多次选择同一颗糖,但是每次询问都是独立的,即不同询问可以选择同一颗糖。
## 输入格式
第一行输入 $N$ , $q$ ,代表一共有多少颗糖果,和总询问次数。
第二行输入 $N$ 个数,$a_1,a_2,\dots,a_N$ 代表每颗糖果的甜度。
接下来 $q$ 行,每行输入一个整数 $x$,代表每次询问中的期望总甜度。
## 输出格式
一共 $N$ 行,每行一个整数,代表每次询问的结果,若不能够达到该次询问中的总甜度,则输出 `-1`。
## 样例 #1
### 样例输入 #1
```
8 3
4 3 3 1 1 4 5 9
1
10
50
```
### 样例输出 #1
```
1
2
-1
```
## 提示
【样例提示】
第 1 个询问中,可以选择甜度为 $1$ 的糖果
第 2 个询问中,可以选择甜度为 $5,9$ 的糖果
第 3 个询问中,选择不出对应总甜度的糖果
【数据范围】
对于前 $60\%$ 的数据,满足 $n\le 10^3, q \le 10^3, a_i \le 10^3, x \le 2 \times 10^7$;
对于 $100\%$ 的数据,满足 $n\le 10^5, q \le 10^5, a_i \le 10^4, x \le 2 \times 10^9$。