#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define int long long
const int MOD = 158400;
const int MOD2 = 998244353;
const int INF = LLONG_MAX/2;
int primes[1000000];
void seive(){
fill(primes, primes + 1000000, 1);
primes[0] = primes[1] = 0;
for(int i = 2 ; i*i < 1000000 ; i++){
if(primes[i]){
for(int j = i*i ; j < 1000000 ; j += i){
primes[j] = 0;
}
}
}
for(int i = 1 ; i < 1000000 ; i++){
primes[i] += primes[i-1];
}
}
int factorial(int n){
if(n==0){
return 1;
}
return (n*(factorial(n-1)))%MOD;
}
bool isPrime(int n){
if(n <= 1) return false;
for(int i = 2 ; i*i <= n ; i++){
if(n % i == 0) return false;
}
return true;
}
int power(int a, int b){
if(b == 0) return 1;
a %= MOD;
int value = power(a, b / 2);
if(b % 2 == 0){
return (value * value) % MOD;
} else {
return ((value * value) % MOD * (a % MOD)) % MOD;
}
}
int gcd(int a, int b){
if(a == 0) return b;
return gcd(b % a, a);
}
void solve() {
int n,k;
cin>>n>>k;
int A[n];
for(int i = 0 ; i<n ; i++){
cin>>A[i];
}
int minimumCost[n];
minimumCost[0] = 0;
minimumCost[1] = abs(A[1]-A[0]);
for(int i = 2 ; i<n ; i++){
int mini = INT_MAX;
for(int j = i-1 ; j>=(max(0LL,(i-k))) ; j--){
mini = min(mini, abs(A[i]-A[j])+minimumCost[j]);
}
minimumCost[i] = mini;
}
cout<<minimumCost[n-1]<<endl;
}
signed main(){
ios::sync_with_stdio(false); cin.tie(NULL);
//int t;
//cin >> t;
//while(t--){
solve();
//}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBlbmRsICdcbicKI2RlZmluZSBpbnQgbG9uZyBsb25nCmNvbnN0IGludCBNT0QgPSAxNTg0MDA7CmNvbnN0IGludCBNT0QyID0gOTk4MjQ0MzUzOwpjb25zdCBpbnQgSU5GID0gTExPTkdfTUFYLzI7CgppbnQgcHJpbWVzWzEwMDAwMDBdOwoKdm9pZCBzZWl2ZSgpewogICAgZmlsbChwcmltZXMsIHByaW1lcyArIDEwMDAwMDAsIDEpOwogICAgcHJpbWVzWzBdID0gcHJpbWVzWzFdID0gMDsKICAgIGZvcihpbnQgaSA9IDIgOyBpKmkgPCAxMDAwMDAwIDsgaSsrKXsKICAgICAgICBpZihwcmltZXNbaV0pewogICAgICAgICAgICBmb3IoaW50IGogPSBpKmkgOyBqIDwgMTAwMDAwMCA7IGogKz0gaSl7CiAgICAgICAgICAgICAgICBwcmltZXNbal0gPSAwOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgZm9yKGludCBpID0gMSA7IGkgPCAxMDAwMDAwIDsgaSsrKXsKICAgICAgICBwcmltZXNbaV0gKz0gcHJpbWVzW2ktMV07CiAgICB9Cn0KaW50IGZhY3RvcmlhbChpbnQgbil7CiAgICBpZihuPT0wKXsKICAgICAgICByZXR1cm4gMTsKICAgIH0KICAgIHJldHVybiAobiooZmFjdG9yaWFsKG4tMSkpKSVNT0Q7Cn0KYm9vbCBpc1ByaW1lKGludCBuKXsKICAgIGlmKG4gPD0gMSkgcmV0dXJuIGZhbHNlOwogICAgZm9yKGludCBpID0gMiA7IGkqaSA8PSBuIDsgaSsrKXsKICAgICAgICBpZihuICUgaSA9PSAwKSByZXR1cm4gZmFsc2U7CiAgICB9CiAgICByZXR1cm4gdHJ1ZTsKfQoKaW50IHBvd2VyKGludCBhLCBpbnQgYil7CiAgICBpZihiID09IDApIHJldHVybiAxOwogICAgYSAlPSBNT0Q7CiAgICBpbnQgdmFsdWUgPSBwb3dlcihhLCBiIC8gMik7CiAgICBpZihiICUgMiA9PSAwKXsKICAgICAgICByZXR1cm4gKHZhbHVlICogdmFsdWUpICUgTU9EOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gKCh2YWx1ZSAqIHZhbHVlKSAlIE1PRCAqIChhICUgTU9EKSkgJSBNT0Q7CiAgICB9Cn0KCmludCBnY2QoaW50IGEsIGludCBiKXsKICAgIGlmKGEgPT0gMCkgcmV0dXJuIGI7CiAgICByZXR1cm4gZ2NkKGIgJSBhLCBhKTsKfQp2b2lkIHNvbHZlKCkgewogICAgaW50IG4sazsKICAgIGNpbj4+bj4+azsKICAgIGludCBBW25dOwogICAgZm9yKGludCBpID0gMCA7IGk8biA7IGkrKyl7CiAgICAgICAgY2luPj5BW2ldOwogICAgfQogICAgaW50IG1pbmltdW1Db3N0W25dOwogICAgbWluaW11bUNvc3RbMF0gPSAwOwogICAgbWluaW11bUNvc3RbMV0gPSBhYnMoQVsxXS1BWzBdKTsKICAgIGZvcihpbnQgaSA9IDIgOyBpPG4gOyBpKyspewogICAgICAgIGludCBtaW5pID0gSU5UX01BWDsKICAgICAgICBmb3IoaW50IGogPSBpLTEgOyBqPj0obWF4KDBMTCwoaS1rKSkpIDsgai0tKXsKICAgICAgICAgICAgbWluaSA9IG1pbihtaW5pLCBhYnMoQVtpXS1BW2pdKSttaW5pbXVtQ29zdFtqXSk7CiAgICAgICAgfQogICAgICAgIG1pbmltdW1Db3N0W2ldID0gbWluaTsKICAgIH0KICAgIGNvdXQ8PG1pbmltdW1Db3N0W24tMV08PGVuZGw7Cn0KCnNpZ25lZCBtYWluKCl7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IGNpbi50aWUoTlVMTCk7CiAgICAvL2ludCB0OwogICAgLy9jaW4gPj4gdDsKICAgIC8vd2hpbGUodC0tKXsKICAgICAgICBzb2x2ZSgpOwogICAgLy99CiAgICByZXR1cm4gMDsKfQoK