#P992. 怪物猎人

怪物猎人

题目描述

Dave 是一名出色的游戏玩家,他这次需要在游戏中消灭 mm 只怪物来通关,第 ii 只怪物的血量为 hih_i。当一只怪物的血量降到 0000 以下,那么这只怪物就被消灭了。

与其他游戏类似,Dave 可以使用技能对怪物造成伤害,为了让游戏更有趣,每次技能造成的伤害并不相同。具体地,游戏内置了一个技能强度序列 a1na_{1\cdots n},Dave 第 ii 次攻击造成的伤害即为 a((i1)modn)+1a_{((i-1)\bmod n)+1},即伤害数值以 nn 次技能为一个周期循环,而 Dave 也提前知道这个技能强度序列的所有信息。

为了尽快消灭所有怪物,Dave 想知道最少多少次攻击能够通关。

输入格式

第一行一个整数 TT 表示数据组数,对于每组数据:

第一行一个整数 nn,表示技能强度序列长度。

第二行 nn 个整数 a1na_{1\cdots n} 表示技能强度序列。

第三行一个整数 mm,表示怪物数量。

第四行 mm 个整数 h1mh_{1\cdots m} 表示怪物血量。

输出格式

对于每组数据,输出一行一个整数表示最小攻击次数。

1
3
2 2 2
3
1 2 2
3

样例解释 1

以任意顺序攻击存活的怪物即可。

数据范围

对于 30%30\% 的数据,T=1T=1n,m,hi3n,m,h_i\leq 3

对于 60%60\% 的数据,T=1T=1n,m103\sum n,\sum m\leq 10^3hi6h_i\leq 6

对于 100%100\% 的数据,1T1041\leq T\leq 10^41nn1051\leq n\leq \sum n\leq 10^51mm1051\leq m\leq \sum m\leq 10^51ai31\leq a_i\leq 31hi1091\leq h_i\leq 10^9