VK Cup 2018 - Квалификация 2
A
Прокат велосипедов
Codeforces
1400
原题
←B →
翻译中…

Как известно, в теплую погоду многие жители крупных городов пользуются сервисами городского велопроката. Вот и Аркадий сегодня будет добираться от школы до дома, используя городские велосипеды.

翻译中…

Школа и дом находятся на одной прямой улице, кроме того, на той же улице есть $*n*$ точек, где можно взять велосипед в прокат или сдать его. Первый велопрокат находится в точке $*x*_{1}$ километров вдоль улицы, второй — в точке $*x*_{2}$ и так далее, $*n*$-й велопрокат находится в точке $*x*_{*n*}$. Школа Аркадия находится в точке $*x*_{1}$ (то есть там же, где и первый велопрокат), а дом — в точке $*x*_{*n*}$ (то есть там же, где и $*n*$-й велопрокат). Известно, что $*x*_{*i*} < *x*_{*i* + 1}$ для всех $1 ≤ *i* < *n*$.

翻译中…

Согласно правилам пользования велопроката, Аркадий может брать велосипед в прокат только на ограниченное время, после этого он должен обязательно вернуть его в одной из точек велопроката, однако, он тут же может взять новый велосипед, и отсчет времени пойдет заново. Аркадий может брать не более одного велосипеда в прокат одновременно. Если Аркадий решает взять велосипед в какой-то точке проката, то он сдаёт тот велосипед, на котором он до него доехал, берёт ровно один новый велосипед и продолжает на нём своё движение.

翻译中…

За отведенное время, независимо от выбранного велосипеда, Аркадий успевает проехать не больше $*k*$ километров вдоль улицы.

翻译中…

Определите, сможет ли Аркадий доехать на велосипедах от школы до дома, и если да, то какое минимальное число раз ему необходимо будет взять велосипед в прокат, включая первый велосипед? Учтите, что Аркадий не намерен сегодня ходить пешком.

翻译中…

Input

翻译中…

В первой строке следуют два целых числа $*n*$ и $*k*$ ($2 ≤ *n* ≤ 1 000$, $1 ≤ *k* ≤ 100 000$) — количество велопрокатов и максимальное расстояние, которое Аркадий может проехать на одном велосипеде.

翻译中…

В следующей строке следует последовательность целых чисел $*x*_{1}, *x*_{2}, ..., *x*_{*n*}$ ($0 ≤ *x*_{1} < *x*_{2} < ... < *x*_{*n*} ≤ 100 000$) — координаты точек, в которых находятся велопрокаты. Гарантируется, что координаты велопрокатов заданы в порядке возрастания.

翻译中…

Output

翻译中…

Если Аркадий не сможет добраться от школы до дома только на велосипедах, выведите -1. В противном случае, выведите минимальное количество велосипедов, которые Аркадию нужно взять в точках проката.

翻译中…

Note

翻译中…

В первом примере Аркадий должен взять первый велосипед в первом велопрокате и доехать на нём до второго велопроката. Во втором велопрокате он должен взять новый велосипед, на котором он сможет добраться до четвертого велопроката, рядом с которым и находится его дом. Поэтому Аркадию нужно всего два велосипеда, чтобы добраться от школы до дома.

翻译中…

Во втором примере всего два велопроката, расстояние между которыми $10$. Но максимальное расстояние, которое можно проехать на одном велосипеде, равно $9$. Поэтому Аркадий не сможет добраться от школы до дома только на велосипедах.

翻译中…

样例

Input #1
4 4
3 6 8 10
Output #1
2
Входные данныеCopy Выходные данныеCopy
Input #2
2 9
10 20
Output #2
-1
Входные данныеCopy Выходные данныеCopy
Input #3
12 3
4 6 7 9 10 11 13 15 17 18 20 21
Output #3
6
Входные данныеCopy Выходные данныеCopy
题目信息
标签
*special
贪心
模拟

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。