AT_dp_b Frog 2

题目描述

有 $N$ 个台阶。每个台阶编号为 $1, 2, \ldots, N$。对于每个 $i$($1 \leq i \leq N$),第 $i$ 个台阶的高度为 $h_i$。 一只青蛙最初站在第 $1$ 个台阶上。青蛙可以多次进行如下操作,试图到达第 $N$ 个台阶: - 当青蛙在第 $i$ 个台阶时,可以跳到第 $i+1, i+2, \ldots, i+K$ 中的任意一个台阶。假设跳到第 $j$ 个台阶,则需要支付的代价为 $|h_i - h_j|$。 请你求出青蛙到达第 $N$ 个台阶所需支付的总代价的最小值。

输入格式

输入以如下格式从标准输入读入: > $N$ $K$ $h_1$ $h_2$ $\ldots$ $h_N$

输出格式

输出青蛙需要支付的总代价的最小值。

说明/提示

## 限制条件 - 所有输入均为整数。 - $2 \leq N \leq 10^5$ - $1 \leq K \leq 100$ - $1 \leq h_i \leq 10^4$ ## 样例解释 1 如果青蛙依次跳到台阶 $1 \to 2 \to 5$,总代价为 $|10 - 30| + |30 - 20| = 30$。 ## 样例解释 2 如果青蛙依次跳到台阶 $1 \to 2 \to 3$,总代价为 $|10 - 20| + |20 - 10| = 20$。 ## 样例解释 3 如果青蛙直接跳到台阶 $1 \to 2$,总代价为 $|10 - 10| = 0$。 ## 样例解释 4 如果青蛙依次跳到台阶 $1 \to 4 \to 8 \to 10$,总代价为 $|40 - 70| + |70 - 70| + |70 - 60| = 40$。 由 ChatGPT 4.1 翻译