#dpb. [dp_b]Frog 2

[dp_b]Frog 2

問題文

NN 個の足場があります。 足場には 1,2,ldots,N1, 2, \\ldots, N と番号が振られています。 各 ii (1leqileqN1 \\leq i \\leq N) について、足場 ii の高さは hih_i です。

最初、足場 11 にカエルがいます。 カエルは次の行動を何回か繰り返し、足場 NN まで辿り着こうとしています。

  • 足場 ii にいるとき、足場 i+1,i+2,ldots,i+Ki + 1, i + 2, \\ldots, i + K のどれかへジャンプする。 このとき、ジャンプ先の足場を jj とすると、コスト hihj|h_i - h_j| を支払う。

カエルが足場 NN に辿り着くまでに支払うコストの総和の最小値を求めてください。

制約

  • 入力はすべて整数である。
  • 2leqNleq1052 \\leq N \\leq 10^5
  • 1leqKleq1001 \\leq K \\leq 100
  • 1leqhileq1041 \\leq h_i \\leq 10^4

入力

入力は以下の形式で標準入力から与えられる。

NN KK h1h_1 h2h_2 ldots\\ldots hNh_N

出力

カエルが支払うコストの総和の最小値を出力せよ。


入力例 1

5 3
10 30 40 50 20

出力例 1

30

足場 112255 と移動すると、コストの総和は 1030+3020=30|10 - 30| + |30 - 20| = 30 となります。


入力例 2

3 1
10 20 10

出力例 2

20

足場 112233 と移動すると、コストの総和は 1020+2010=20|10 - 20| + |20 - 10| = 20 となります。


入力例 3

2 100
10 10

出力例 3

足場 1122 と移動すると、コストの総和は 1010=0|10 - 10| = 0 となります。


入力例 4

10 4
40 10 20 70 80 10 20 70 80 60

出力例 4

40

足場 1144881010 と移動すると、コストの総和は 4070+7070+7060=40|40 - 70| + |70 - 70| + |70 - 60| = 40 となります。