A9458.超能战士
普及/提高-
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
为了消灭人类,怪兽协会向地球表面派出了 n 只怪兽。第 i 只怪兽有一个生命值 hi 和一个攻击力 pi。
凭借他最后的一击,超能战士可以对所有活着的怪兽造成 k 点伤害。换句话说,超能战士可以通过一次攻击降低所有怪兽 k 点生命值(如果 k>0)。
然而,在超能战士发动的每一次攻击之后,怪兽们都会反击。在他们的共同努力下,通过活着的最弱的怪兽的力量降低超能战士的攻击伤害。换句话说,在每次攻击后,将 k 的值减去当前所有活着的怪兽中的最小 pi。
最弱的怪兽是力量最小的怪兽。
如果怪兽的生命值严格大于 0,则它是活着的。
超能战士能够成功消灭所有怪兽吗?
输入格式
输入的第一行包含一个整数 t (1≤t≤100),表示有 t 组数据。每组数据包含以下内容。
每组数据的第一行包含两个整数 n 和 k (1≤n,k≤105),表示怪兽的数量和超能战士的初始攻击伤害。接下来两行,每行包含 n 个整数,分别是数组 h 和 p (1≤hi,pi≤109)。
保证所有数据 n 的总和不超过 30⋅105。
输出格式
对于每组数据,如果超能战士能够消灭所有怪兽,输出 YES,否则输出 NO。
输入输出样例
输入#1
3 6 7 18 5 13 9 10 1 2 7 2 1 2 6 3 4 5 5 5 4 4 4 3 2 2 1 3 1 1 1
输出#1
YES NO YES
说明/提示
在第一个样例中,在超能战士第一次攻击后,h 和 k 将更新为:
- h:[11,0,6,2,3,0]
- k:7−1=6
第二次攻击后:
- h:[5,0,0,0,0,0]
- k:6−2=4
第三次攻击后:
- h:[1,0,0,0,0,0]
- k:4−2=2
第四次攻击后:
- h:[0,0,0,0,0,0]
由于超能战士可以消灭所有怪兽,所以输出YES。