测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A6918. 跳石头

编程题 普及-
知识点

题目描述

一条河上排着 $n$ 块石头,从左到右编号为 $1,2,\dots,n$。第 $i$ 块石头的高度为 $h_i$。一只青蛙一开始在第 $1$ 块石头上,目标是跳到第 $n$ 块石头。

青蛙每次可以从当前的第 $i$ 块石头跳到 右侧 的任意一块石头 $j$(满足 $1 \le j-i \le k$)。

这次跳跃的代价为 $\lvert h_i - h_j\rvert$。请你计算:青蛙从第 $1$ 块跳到第 $n$ 块所需的最小总代价。

输入格式

第一行包含两个整数 $n,k$。

第二行包含 $n$ 个整数,分别为 $h_1,h_2,\dots,h_n$。

输出格式

输出一个整数,表示最小总代价。

输入输出样例

输入 #1
5 3
10 30 40 50 20
输出 #1
30

说明/提示

- $2 \le n \le 10^5$

- $1 \le k \le 100$

- $-10^9 \le h_i \le 10^9$

对于样例:

一种最优方案是:$1\to2\to5$。

$1\to2$ 代价 $\lvert 10-30\rvert=20$

$2\to5$ 代价 $\lvert 30-20\rvert=10$

总代价 $20+10=30$,可以证明这是最小的。
上一题 去做题 下一题