CF929A Прокат велосипедов
题目描述
众所周知,在天气温暖的时候,许多大城市的居民会使用城市自行车租赁服务。今天,Arkady 也打算利用城市自行车,从学校骑到家。
学校和家都在同一条直街上,此外,这条街上还有 $n$ 个可以租还自行车的点。第一个租车点在距离街道起点 $x_1$ 公里处,第二个在 $x_2$ 公里处,依此类推,第 $n$ 个租车点在 $x_n$ 公里处。Arkady 的学校就在 $x_1$ 处(即第一个租车点),家在 $x_n$ 处(即第 $n$ 个租车点)。已知 $x_i < x_{i+1}$,对于所有 $1 \leq i < n$。
根据自行车租赁规则,Arkady 每次租车只能骑行有限的时间,之后必须在某个租车点归还,但他可以立刻再租一辆新车,时间重新计算。Arkady 同时最多只能租一辆自行车。如果他在某个租车点决定换车,他会归还当前的自行车,租用一辆新车,然后继续前进。
在规定时间内,无论骑哪辆自行车,Arkady 最多只能沿街骑行 $k$ 公里。
请你判断,Arkady 能否只靠骑自行车从学校到家。如果可以,输出他最少需要租用多少次自行车(包括第一次租车)。注意,Arkady 今天不打算步行。
输入格式
第一行包含两个整数 $n$ 和 $k$($2 \leq n \leq 1000$,$1 \leq k \leq 100000$)——租车点的数量和每次租车最多能骑行的距离。
第二行包含 $n$ 个整数 $x_1, x_2, \ldots, x_n$($0 \leq x_1 < x_2 < \ldots < x_n \leq 100000$)——各租车点的坐标。保证坐标按升序排列。
输出格式
如果 Arkady 不能只靠骑自行车从学校到家,输出 $-1$。否则,输出他最少需要租用自行车的次数。
说明/提示
由 ChatGPT 4.1 翻译