#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;
class FrogJump2 {
public:
int minimumCost(vector<int>& heights, int n, int k) {
if(n <= 1) return 0;
vector<int> dp(n, 0);
dp[0] = 0;
dp[1] = abs(heights[0] - heights[1]);
for(int i = 2; i < n; ++i) {
int cost = INT_MAX;
for(int j = max(0, i-k); j < i; ++j) {
cost = min(cost, dp[j] + abs(heights[i] - heights[j]));
}
dp[i] = cost;
}
return dp[n-1];
}
};
int main() {
int n, k;
cin >> n >> k;
vector<int> heights(n);
for(int i = 0; i < n; ++i) cin >> heights[i];
FrogJump2 *obj = new FrogJump2();
cout << obj->minimumCost(heights, n, k) << endl;
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCgpjbGFzcyBGcm9nSnVtcDIgewoKcHVibGljOgogIGludCBtaW5pbXVtQ29zdCh2ZWN0b3I8aW50PiYgaGVpZ2h0cywgaW50IG4sIGludCBrKSB7CiAgICBpZihuIDw9IDEpIHJldHVybiAwOwogICAgCiAgICB2ZWN0b3I8aW50PiBkcChuLCAwKTsKICAgIGRwWzBdID0gMDsKICAgIGRwWzFdID0gYWJzKGhlaWdodHNbMF0gLSBoZWlnaHRzWzFdKTsKICAgIAogICAgZm9yKGludCBpID0gMjsgaSA8IG47ICsraSkgewogICAgICBpbnQgY29zdCA9IElOVF9NQVg7CiAgICAgIGZvcihpbnQgaiA9IG1heCgwLCBpLWspOyBqIDwgaTsgKytqKSB7CiAgICAgICAgY29zdCA9IG1pbihjb3N0LCBkcFtqXSArIGFicyhoZWlnaHRzW2ldIC0gaGVpZ2h0c1tqXSkpOwogICAgICB9CiAgICAgIGRwW2ldID0gY29zdDsKICAgIH0KICAgIHJldHVybiBkcFtuLTFdOwogIH0KfTsKCgppbnQgbWFpbigpIHsKICBpbnQgbiwgazsKICBjaW4gPj4gbiA+PiBrOwogIAogIHZlY3RvcjxpbnQ+IGhlaWdodHMobik7CiAgZm9yKGludCBpID0gMDsgaSA8IG47ICsraSkgY2luID4+IGhlaWdodHNbaV07CiAgCiAgRnJvZ0p1bXAyICpvYmogPSBuZXcgRnJvZ0p1bXAyKCk7CiAgY291dCA8PCBvYmotPm1pbmltdW1Db3N0KGhlaWdodHMsIG4sIGspIDw8IGVuZGw7CiAgCiAgcmV0dXJuIDA7Cn0KCg==