题目描述
烛龙战队利用河道上的一些岩石很快就跳到了河对岸,为了阻止归零者手下的追击,大聪明打算用他的机械手臂击碎岩石,但是由于时间有限,大聪明只能打碎其中的几块岩石。
河道的宽度是m,河道内一共有n块岩石,为了减缓归零者手下的追击速度,大聪明可以打碎一些岩石,在打碎岩石后,我们要让归零者手下的最短跳跃距离尽可能地长。小机器人想知道。能否通过移走k块岩石,使最短跳跃距离达到x。
输入
第一行包含四个整数m,n,k,x分别表示起点到终点的距离,起点和终点之间的岩石数,大聪明至多打碎的岩石数,以及跳跃距离x。保证100000≥m≥x≥1且50000≥n≥k≥0。
接下来n行,每行一个整数,第i行的整数ai( 0 <ai <m), 表示第i块岩石与起点的距离。这些岩石按与起点距离从小到大的顺序给出,且不会有两个岩石出现在同一个位置。
输出
共一行,能完成输出YES,否则输出NO
样例输入
25 5 2 4
2
11
14
17
21
样例输出
YES