4338: 湖工做题家
内存限制:128 MB
时间限制:1 S
标准输入输出
题目类型:传统
评测方式:文本比较
上传者:
提交:102
通过:17
题目描述
tyy 是一个卷王,每天都要做够 k 个积分的题目。
但是他又想挤出时间来陪女朋友,所以他要做最少的题目完成 k 个积分的任务。
他给你 n 个题目所对应的积分,并会向你询问 q 次,每次询问他都会给你 k 的值。
问你至少做几个题才能完成 k 个积分的任务。
但是他又想挤出时间来陪女朋友,所以他要做最少的题目完成 k 个积分的任务。
他给你 n 个题目所对应的积分,并会向你询问 q 次,每次询问他都会给你 k 的值。
问你至少做几个题才能完成 k 个积分的任务。
输入格式
第一行一个整数 t (1 <= t <= 1000)代表测试数据组数。
每组测试数据第一行两个整数 n 和 q(1 <= n, q <= 1 · 105)代表题目数量和询问次数。
接下来一行 n 个整数 a1, a2, a3, ... , an (1 <= ai <= 104) 表示第 i 个题目所对应的积分。
接下来 q 行,每行一个整数 ki (1 <= ki <= 2 · 106)表示至少要达到的积分个数。
保证所有测试用例的 n 和 q 之和不超过 1 ⋅105.
每组测试数据第一行两个整数 n 和 q(1 <= n, q <= 1 · 105)代表题目数量和询问次数。
接下来一行 n 个整数 a1, a2, a3, ... , an (1 <= ai <= 104) 表示第 i 个题目所对应的积分。
接下来 q 行,每行一个整数 ki (1 <= ki <= 2 · 106)表示至少要达到的积分个数。
保证所有测试用例的 n 和 q 之和不超过 1 ⋅105.
输出格式
对于每个测试用例输出 q 行。对于其中每行输出 tyy 为了达到大于或等于任务积分而需要做的题目数量或打印 -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
数据范围与提示
注意该题的数据范围,查找方式使用二分查找。