3168: 毒药鉴定

时间限制:500 ms 内存限制:64 MB
上传者:
提交:152 通过:4

题目描述

你发现了 $n$ 瓶试剂,你能确定的是,其中有一瓶装的是致命的毒药,而其他瓶子里都是普通的水,另外,这种毒药在稀释后毒性并不会减小,也就是说,如果把一条小鱼放入混有任意量毒药的水中,小鱼将会在严格的 $k$ 分钟后死亡。
你找到了 $m$ 条小鱼来尝试鉴定毒药,你可以将其中的一部分试剂(包括 $1$ 瓶)各取一滴加入水中混合,然后将一条小鱼放入其中,等待 $k$ 分钟后观察小鱼的情况,如果 $k$ 分钟后小鱼死亡,你就可以断定毒药就是你混合的这些试剂中的其中一瓶;反之,你可以断定毒药不在你混合的这些试剂当中。
留给你的时间很有限,现在你只剩下 $d$ 分钟来确定毒药的位置。那么,你是否能够找到一种方案,可以确保使用不超过 $d$ 分钟找到毒药呢(混合试剂等操作时间可以忽略不计)?

输入格式

第一行一个正整数 $T$,表示数据组数。
对于每组数据:
一行四个正整数 $n,m,k,d$,分别表示试剂总数,小鱼总数,毒药的致死时间和留给你的总时间。

输出格式

对于每组数据:
一行一个字符串,若存在一种方案能够确保在时限内找到毒药,输出 `YES`,否则输出 `NO`。

输入样例 复制

3
16 4 9 9
10 2 4 9
10 100 9 8

输出样例 复制

YES
NO
NO

数据范围与提示