题目描述
有 N 块石头,编号为 1,2,…,N。对于每个 i (1≤i≤N),第 i 块石头的高度为 hi。
有一只青蛙最初在石头 1 上。它将重复执行以下操作,直到达到石头 N:
- 如果青蛙当前在石头 i 上,它可以跳到石头 i+1,i+2,…,i+K 中的任意一个。跳跃的代价是 ∣hi−hj∣,其中 j 是要跳到的石头。
找出青蛙到达石头 N 之前可能产生的最小总代价。
约束条件
- 输入中的所有值均为整数。
- 2≤N≤105
- 1≤K≤100
- 1≤hi≤104
输入
输入将从标准输入读取,并具有以下格式:
N K
h1 h2 … hN
输出
请打印可能产生的最小总代价。
示例输入1
5 3
10 30 40 50 20
示例输出1
30
如果我们按照路径 1 → 2 → 5,总代价为 ∣10−30∣+∣30−20∣=30。
示例输入2
3 1
10 20 10
示例输出2
20
如果我们按照路径 1 → 2 → 3,总代价为 ∣10−20∣+∣20−10∣=20。
示例输入3
2 100
10 10
示例输出3
0
如果我们按照路径 1 → 2,总代价为 ∣10−10∣=0。
示例输入4
10 4
40 10 20 70 80 10 20 70 80 60
示例输出4
40
如果我们按照路径 1 → 4 → 8 → 10,总代价为 ∣40−70∣+∣70−70∣+∣70−60∣=40。