Задача №114889. Ландшафтный дизайн

Марио решил заняться ландшафтным дизайном. Сейчас его сад можно представить как n вертикальных столбиков, i -й из которых начинается на y координате a i , и уходит бесконечно вниз. За одну операцию Марио может изменить высоту любого столбика на 1 (обратите внимание, что высоты могут становиться отрицательными). Марио хочет изменить высоты столбиков с a i на b i так, чтобы для любого 1 ≤ i n - 2 выполнялось b i = b i + 2 , а любые два соседних столбика отличались по высоте ровно на k .

Помогите Марио выяснить, какое минимальное количество операций ему придется сделать.

Входные данные

В первой строке даны два целых числа n и k — количество столбиков, и высота на которую должны отличаться два соседних столбика ( 2 ≤ n ≤ 10 5 , 0 ≤ k ≤ 10 9 ). В следующей строке даны n целых чисел a i — исходные высоты столбиков ( - 10 9 a i ≤ 10 9 ).

Выходные данные

В единственной строке выведите минимальное число операций, которое придется сделать Марио, чтобы получить желаемые высоты столбиков.

Система оценки

Эта задача состоит из трех подзадач. Для подзадач выполняются дополнительные ограничения, указанные в таблице ниже. Для получения баллов за подзадачу необходимо пройти все тесты данной подзадачи, а также все тесты всех необходимых подзадач. Номера необходимых подзадач также указаны в таблице.

Подзадача Баллы Дополнительные ограничения Необходимые подзадачи
1 31 n ≤ 1 000 , k ≤ 1 000 , | a i | ≤ 1 000
2 53 n ≤ 10 5 , k ≤ 1 000 , | a i | ≤ 1 000 1
3 16 n ≤ 10 5 , k ≤ 10 9 , | a i | ≤ 10 9 1, 2

Примечание

В первом тесте Марио может, например, получить следующую последовательность b i : 2 , 1 , 2 , 1 , 2 .

Примеры
Входные данные
5 1
1 2 3 -1 2
Выходные данные
5
Сдать: для сдачи задач необходимо войти в систему