atcoder#DPB. Frog 2

Frog 2

题目描述

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

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

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

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

输入格式

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

N N K K h1 h_1 h2 h_2 \ldots hN h_N

输出格式

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

题目大意

河面上有N(2N105)N(2 \leq N \leq 10^5)块石头。有一只青蛙在第11块石头上,它想跳到第NN块石头上。

青蛙一次最多只能跳过K(1K100)K(1 \leq K \leq 100)块石头。从第ii块跳到第jj块需要花费青蛙abs(hihj)abs(h_i - h_j)的体力(1hi104)(1 \leq h_i \leq 10^4)。求青蛙到达第NN块石头所耗费的最小体力值。

5 3
10 30 40 50 20
30
3 1
10 20 10
20
2 100
10 10
0
10 4
40 10 20 70 80 10 20 70 80 60
40

提示

制約

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

Sample Explanation 1

足場 1 1 2 2 5 5 と移動すると、コストの総和は 10  30 + 30  20 = 30 |10\ -\ 30|\ +\ |30\ -\ 20|\ =\ 30 となります。

Sample Explanation 2

足場 1 1 2 2 3 3 と移動すると、コストの総和は 10  20 + 20  10 = 20 |10\ -\ 20|\ +\ |20\ -\ 10|\ =\ 20 となります。

Sample Explanation 3

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

Sample Explanation 4

足場 1 1 4 4 8 8 10 10 と移動すると、コストの総和は $ |40\ -\ 70|\ +\ |70\ -\ 70|\ +\ |70\ -\ 60|\ =\ 40 $ となります。