Лягушка с прыжком до K
Просмотр в формате PDFЛягушка хочет перебраться по ряду из n камней с первого камня на n-й. Для каждого камня известна его высота: h_1, h_2, ..., h_n.
Если лягушка находится на камне с номером i, то за один прыжок она может попасть на любой камень с номером от i + 1 до i + K, если такой камень существует.
Усилие одного прыжка с камня i на камень j равно |h_i - h_j|, то есть модулю разности высот этих камней.
Требуется определить минимальное суммарное усилие, необходимое лягушке, чтобы добраться с первого камня до n-го.
Входные данные
В первой строке заданы два целых числа n и K — количество камней и максимальная длина прыжка.
Во второй строке заданы n целых чисел h_i — высоты камней.
Выходные данные
Выведите одно целое число — минимальное суммарное усилие, необходимое, чтобы попасть с первого камня на n-й.
Ограничения
2 <= n <= 10^51 <= K <= 1001 <= h_i <= 10^9
Ответ может не помещаться в 32-битный целочисленный тип.
Примеры
Пример 1
Входные данные
5 3
10 30 40 50 20
Выходные данные
30
Оптимальный путь 1 -> 2 -> 5: |10 - 30| + |30 - 20| = 30.
Пример 2
Входные данные
2 1
1 1000000000
Выходные данные
999999999
Пример 3
Входные данные
10 3
1 1000000000 1 1000000000 1 1000000000 1 1000000000 1 1000000000
Выходные данные
999999999
Комментарии