4338: 湖工做题家

内存限制:128 MB 时间限制:1 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:102 通过:17

题目描述

tyy 是一个卷王,每天都要做够 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.

输出格式

对于每个测试用例输出 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

数据范围与提示

注意该题的数据范围,查找方式使用二分查找。