AT_kupc2014_h 自転車走
题目描述
有一个游戏,要求你骑自行车沿着一条直线跑到距离初始位置 $L$ 的终点。
在这条路线上,自行车只有在特定的地面区间上才能骑行。我们称这些可以骑行的区间为“地面”。地面由 $N$ 个区间 $[a_i, b_i]$($i=1,\ldots,N$)表示。如果从起点出发的距离 $x$ 满足某个 $i$ 使得 $a_i \leq x \leq b_i$,那么在 $x$ 处自行车可以骑行在地面上。
自行车会自动以恒定速度向前行驶。当自行车在地面上时,玩家可以让自行车跳跃。跳跃时,自行车会立即飞到空中,并在正好前进 $W$ 的距离后着陆。在空中时,可以越过非地面区间,但着陆点必须在地面上。同时,着陆点不能超过终点。每局游戏中可以进行任意次数的跳跃,着陆后可以立即再次跳跃。完成一系列跳跃后,自行车会继续自动向前行驶。
请你计算,在不让自行车骑到非地面区间的情况下,将自行车安全送到终点所需的最小跳跃次数。如果无论如何都无法到达终点,输出 $-1$。
输入格式
输入格式如下:
```
N L W
a_1 b_1
…
a_N b_N
```
输出格式
输出将自行车安全送到终点所需的最小跳跃次数。如果无法到达终点,输出 $-1$。
说明/提示
由 ChatGPT 4.1 翻译