import java.util.Scanner;
public class Main {
public static void main
(String[] args
) { Scanner sc
= new Scanner
(System.
in); int n = sc.nextInt();
long[] b = new long[n + 1];
int k = sc.nextInt();
for (int i = 1; i <= n; i++) {
b[i] = sc.nextLong();
}
long[] dp = new long[n + 1];
// Initialize dp array
for (int i = 1; i <= n; i++) {
}
// Starting conditions
dp[1] = 0; // Cost to reach the first stone is zero
// Handle the case for the second stone
if (n >= 2) {
dp
[2] = Math.
abs(b
[2] - b
[1]); // Cost to reach the second stone }
// Calculate minimum costs for each stone
for (int i = 3; i <= n; i++) {
long mini
= Long.
MAX_VALUE; for (int j = 1; j <= k && i - j >= 1; j++) {
mini
= Math.
min(dp
[i
- j
] + Math.
abs(b
[i
] - b
[i
- j
]), mini
); }
dp[i] = mini;
}
}
}
aW1wb3J0IGphdmEudXRpbC5TY2FubmVyOwoKcHVibGljIGNsYXNzIE1haW4gewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIFNjYW5uZXIgc2MgPSBuZXcgU2Nhbm5lcihTeXN0ZW0uaW4pOwogICAgICAgIGludCBuID0gc2MubmV4dEludCgpOwogICAgICAgIGxvbmdbXSBiID0gbmV3IGxvbmdbbiArIDFdOwogICAgICAgIGludCBrID0gc2MubmV4dEludCgpOwogICAgICAgIAogICAgICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewogICAgICAgICAgICBiW2ldID0gc2MubmV4dExvbmcoKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgbG9uZ1tdIGRwID0gbmV3IGxvbmdbbiArIDFdOwogICAgICAgIAogICAgICAgIC8vIEluaXRpYWxpemUgZHAgYXJyYXkKICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIHsKICAgICAgICAgICAgZHBbaV0gPSBMb25nLk1BWF9WQUxVRTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLy8gU3RhcnRpbmcgY29uZGl0aW9ucwogICAgICAgIGRwWzFdID0gMDsgLy8gQ29zdCB0byByZWFjaCB0aGUgZmlyc3Qgc3RvbmUgaXMgemVybwogICAgICAgIAogICAgICAgIC8vIEhhbmRsZSB0aGUgY2FzZSBmb3IgdGhlIHNlY29uZCBzdG9uZQogICAgICAgIGlmIChuID49IDIpIHsKICAgICAgICAgICAgZHBbMl0gPSBNYXRoLmFicyhiWzJdIC0gYlsxXSk7IC8vIENvc3QgdG8gcmVhY2ggdGhlIHNlY29uZCBzdG9uZQogICAgICAgIH0KICAgICAgICAKICAgICAgICAvLyBDYWxjdWxhdGUgbWluaW11bSBjb3N0cyBmb3IgZWFjaCBzdG9uZQogICAgICAgIGZvciAoaW50IGkgPSAzOyBpIDw9IG47IGkrKykgewogICAgICAgICAgICBsb25nIG1pbmkgPSBMb25nLk1BWF9WQUxVRTsKICAgICAgICAgICAgZm9yIChpbnQgaiA9IDE7IGogPD0gayAmJiBpIC0gaiA+PSAxOyBqKyspIHsKICAgICAgICAgICAgICAgIG1pbmkgPSBNYXRoLm1pbihkcFtpIC0gal0gKyBNYXRoLmFicyhiW2ldIC0gYltpIC0gal0pLCBtaW5pKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBkcFtpXSA9IG1pbmk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihkcFtuXSk7CiAgICB9Cn0K