#include <bits/stdc++.h>
using namespace std;
int min_cost_to_make_jumpToN(vector<int> a, int k){
int n = a.size();
vector<int> dp(n);
dp[0] = 0;
dp[1] = abs(a[1] - a[0]);
for (int i = 2; i < n; i++){
int j = 1, ans = INT_MAX;
while(j <= k && i-j >= 0){
ans = min(ans, abs(a[i]-a[i-j])+dp[i-j]);
j++;
}
dp[i] = ans;
}
return dp[n-1];
}
int main() {
int n, k; cin >> n >> k;
// vector<int> a = {10, 20, 5000, 10};
vector<int> a(n);
for(int &i : a){
cin >> i;
}
cout << min_cost_to_make_jumpToN(a, k);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWluX2Nvc3RfdG9fbWFrZV9qdW1wVG9OKHZlY3RvcjxpbnQ+IGEsIGludCBrKXsKCWludCBuID0gYS5zaXplKCk7CgkKCXZlY3RvcjxpbnQ+IGRwKG4pOwoJZHBbMF0gPSAwOwoJZHBbMV0gPSBhYnMoYVsxXSAtIGFbMF0pOwoJCglmb3IgKGludCBpID0gMjsgaSA8IG47IGkrKyl7CgkJaW50IGogPSAxLCBhbnMgPSBJTlRfTUFYOwoJCXdoaWxlKGogPD0gayAmJiBpLWogPj0gMCl7CgkJCQoJCQlhbnMgPSBtaW4oYW5zLCBhYnMoYVtpXS1hW2ktal0pK2RwW2ktal0pOwoJCQlqKys7CgkJfQoJCWRwW2ldID0gYW5zOwoJCQoJfQoJCglyZXR1cm4gZHBbbi0xXTsKfQoKaW50IG1haW4oKSB7CgkKCWludCBuLCBrOyBjaW4gPj4gbiA+PiBrOwoJLy8gdmVjdG9yPGludD4gYSA9IHsxMCwgMjAsIDUwMDAsIDEwfTsKCXZlY3RvcjxpbnQ+IGEobik7CgkKCWZvcihpbnQgJmkgOiBhKXsKCQljaW4gPj4gaTsKCX0KCQoJY291dCA8PCBtaW5fY29zdF90b19tYWtlX2p1bXBUb04oYSwgayk7CgkKCXJldHVybiAwOwp9