运动员在一条可以看作是数轴的跑道上跑步,从坐标为 x_{start}=0 的起点开始,跑向坐标为 x_{finish}=m 的终点。跑道上设置了 n 个障碍,放置的位置坐标分别为。运动员只能通过跳跃跨过这些障碍,每次跳跃,运动员首先需要进行一段不少于 s 米的助跑,每次跳跃的距离不超过 d 米。为了跨越某个障碍物,运动员必须严格地落在该障碍物右侧的第一个点上。你的任务是判断运动员是否能够到达终点。
解决方法
可以发现,跑道上有 n 个障碍,运动员需要一定的助跑距离才能跳跃,所以只要让这个助跑距离最大,就更有机会跳过去,因此本题思路是贪心。很容易想到,每次在障碍的前一个单位跳跃,在障碍的后一个单位落下,可以使中间没有障碍的那一段助跑距离最大。当这样求出所有障碍之间的最大助跑距离后,仍有一些障碍之间的助跑距离不够,可以将这种障碍合在一起考虑。