问题描述
有 N 个石头,编号为 1,2,…,N。对于每个 i (1≤i≤N),石头 i 的高度是 hi。
最初,青蛙在石头 1 上。青蛙将重复以下动作,以到达石头 N:
- 当青蛙在石头 i 上时,可以跳到石头 i+1,i+2,…,i+K 中的任意一个。此时,跳到石头 j 的成本为 ∣hi−hj∣。
请计算青蛙到达石头 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。