给定 n 只怪物,每只怪物有血量 ai;有 m 支箭,每支箭有伤害 bj 和花费 cj。每支箭只能用一次,且一次只能击中一只怪物,要求击杀所有怪物的最小总花费,若无法全部击杀则输出 No
。
现在有n个怪物,每一个怪物有一定的血量,你手里有m只箭,每一只箭都有一个伤害值,同时也有一个花费。
我们现在假设每一只箭只能用一次并且每一个怪物也只能射一次,想要把所有怪物都击杀问最少需要花费多少,若无法全部击杀,则输出No。
击杀的条件为:使用的这只箭的伤害大于等于怪物的血量,则就可以击杀。
第一行输入一个整数T,代表有T组测试数据。
对于每一组测试数据,一行输入两个整数n和m,代表有n个怪物,m只箭。
接下来n个数,a[i]代表每一个怪物的血量。
接下来m个数,b[i]代表每一只箭的伤害。
接下来m个数,c[i]代表每一只箭的花费。
1≤T≤10
1≤n,m≤100000
1≤a[i],b[i],c[i]≤100000
对于每一组数据,输出一行,代表消除怪物的最少花费,若消除不了,输出No
输入
2
3 3
1 2 3
2 3 4
1 2 3
3 4
1 2 3
1 2 3 4
1 2 3 1
输出
6
4
说明
对于样例第二组,我们选择用第1根箭射第一个怪物,第二跟箭射第二个怪物,第四根箭射第三个怪物。花费为1+2+1=4
本题属于以下题库,请选择所需题库进行购买