#D0134. Frog 2

Frog 2

问题陈述

有 NN 块石头,编号为 1,2,…,N1, 2, \ldots, N 。第 ii ( 1≤i≤N1 \leq i \leq N )块石头的高度是 hih_i 。

有一只青蛙,它最初在石块 11 上。它会重复下面的动作若干次以到达 NN 号石块:

  • 如果青蛙目前在 ii 号石块上,请跳到以下其中一块:石块 i+1,i+2,…,i+Ki + 1, i + 2, \ldots, i + K 。这里会产生 ∣hi−hj∣|h_i - h_j| 的代价,其中 jj 是要降落的石块。

求青蛙到达石块 NN 之前可能产生的最小总成本。

限制因素

  • 所有输入值均为整数。
  • 2≤N≤1052 \leq N \leq 10^5
  • 1≤K≤1001 \leq K \leq 100
  • 1≤hi≤1041 \leq h_i \leq 10^4

输入

输入内容由标准输入法提供,格式如下:

  • NN KK
  • h1h_1 h2h_2 …\ldots hNh_N

输出

打印可能产生的最低总成本。

5 3
10 30 40 50 20
30

如果我们沿着 11 → 22 的路径运行→ 55 ,产生的总成本为 ∣10−30∣+∣30−20∣=30|10 - 30| + |30 - 20| = 30 。

3 1
10 20 10
20

如果我们沿着路径 11 → 22 → 33 ,则产生的总成本为 ∣10−20∣+∣20−10∣=20|10 - 20| + |20 - 10| = 20 。

2 100
10 10

0

如果我们沿着 11 → 22 的路径前进,产生的总成本为 ∣10−10∣=0|10 - 10| = 0 。→ 22 ,产生的总成本为 ∣10−10∣=0|10 - 10| = 0 。

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

如果我们沿着路径 11 → 44 → 88 → 1010 ,则产生的总成本为 ∣40−70∣+∣70−70∣+∣70−60∣=40|40 - 70| + |70 - 70| + |70 - 60| = 40 。

来源

https://atcoder.jp/contests/dp/tasks/dp_b