#16. 能量补给 (worm)
能量补给 (worm)
题目描述
仓库中有 枚能量晶块,第 枚晶块可以提供 点能量。每次任务开始前,系统会给出一个需求值 ,表示至少需要获得 点能量。
为了尽量减少携带数量,你可以任意选择若干枚晶块。对于每次询问,请求出至少需要选择多少枚晶块才能使总能量不小于 。如果把所有晶块都选上仍然不足,则输出 。
输入格式
在文件 worm.in 中读入。
第一行输入两个整数 和 ,表示晶块数量和询问次数。
第二行输入 个正整数,表示每枚晶块的能量 。
接下来 行,每行输入一个正整数 ,表示一次任务的能量需求。
输出格式
在文件 worm.out 中输出。
对于每次询问,输出一行一个整数,表示满足需求所需的最少晶块数量;若无法满足需求,则输出 。
样例
样例输入 #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
数据范围
对于 的数据,,,。
对于 的数据,,,。
Related
In following contests: