题目描述
TLE正在玩一个人生重开模拟器的游戏,在开始游戏之前,要进行n次天赋抽卡,每次抽卡TLE可以选择抽或者不抽,进行天赋抽卡会给TLE的属性带来实时变化,但是TLE只想苟活!所以他只关注每次天赋抽卡对体质属性带来的影响,假如抽到了体质值为x的天赋,TLE的体质值会加上x。TLE打算重开人生m轮,已知TLE每轮的初始体质值,TLE希望在自己抽卡的过程中,始终保持体质值非负以便苟活,你能在满足这个条件的前提下,使得每轮的抽取天赋的次数最多吗?
输入格式
输入第一行包括一个整数T, 1≤T≤105, 表示接下来总共有T组数据,
接下来每一组数据, 第一行包括两个整数n, m, 1≤n,m≤105, 表示每轮的天赋抽卡数和总共进行的轮数。
接下来一行包括n个整数ai, −109≤ai≤109。第i个整数ai表示第i次抽卡能获得的体质值,
接下来m行每包括一个正整数bi,0≤bi≤1018, 表示第i轮游戏的初始体质值。
数据保证所有组数的 ∑n≤106, ∑m≤106。
输出格式
输出包括m行,每行包括一个整数,表示最多抽取了多少次天赋。
样例 #1
样例输入 #1
1
3 2
2 -3 1
1
0
样例输出 #1
3
2