#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define yes cout<<"YES\n";
#define no cout<<"NO\n";
const int N=3e5+7;
ll T=1;
ll h[N];
ll n, oo = 1e18, k;
ll dp[N];
ll rec(ll i)
{
if(i > n)
return oo;
if(i == n)
return 0;
ll &ret = dp[i];
if(ret != -1)
return ret;
ret = oo;
for(int j = 1; j <= k; j++){
ll p = rec(i + j) + abs(h[i] - h[i + j]);
ret = min(ret, p);
}
return ret;
}
void solve()
{
memset(dp, -1, sizeof dp);
cin >> n >> k;
for(int i = 1; i <= n; i++)
cin >> h[i];
cout << rec(1);
}
int main()
{
ios::sync_with_stdio(NULL);
cin.tie(0);
cout.tie(0);
// freopen("","r", stdin);
// freopen("","w", stdout);
// cin>>T;
while(T--)
solve();
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSB5ZXMgY291dDw8IllFU1xuIjsKI2RlZmluZSBubyBjb3V0PDwiTk9cbiI7CmNvbnN0IGludCBOPTNlNSs3OwpsbCBUPTE7CmxsIGhbTl07CmxsIG4sIG9vID0gMWUxOCwgazsKbGwgZHBbTl07CgpsbCByZWMobGwgaSkKewogICAgaWYoaSA+IG4pCiAgICAgICAgcmV0dXJuIG9vOwogICAgaWYoaSA9PSBuKQogICAgICAgIHJldHVybiAwOwoKICAgIGxsICZyZXQgPSBkcFtpXTsKCiAgICBpZihyZXQgIT0gLTEpCiAgICAgICAgcmV0dXJuIHJldDsKCiAgICByZXQgPSBvbzsKCiAgICBmb3IoaW50IGogPSAxOyBqIDw9IGs7IGorKyl7CiAgICAgICAgbGwgcCA9IHJlYyhpICsgaikgKyBhYnMoaFtpXSAtIGhbaSArIGpdKTsKICAgICAgICByZXQgPSBtaW4ocmV0LCBwKTsKICAgIH0KCiAgICByZXR1cm4gcmV0Owp9CnZvaWQgc29sdmUoKQp7CiAgICBtZW1zZXQoZHAsIC0xLCBzaXplb2YgZHApOwogICAgY2luID4+IG4gPj4gazsKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKQogICAgICAgIGNpbiA+PiBoW2ldOwogICAgY291dCA8PCByZWMoMSk7Cn0KaW50IG1haW4oKQp7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhOVUxMKTsKICAgIGNpbi50aWUoMCk7CiAgICBjb3V0LnRpZSgwKTsKCi8vICAgIGZyZW9wZW4oIiIsInIiLCBzdGRpbik7Ci8vICAgIGZyZW9wZW4oIiIsInciLCBzdGRvdXQpOwovLyAgICBjaW4+PlQ7CiAgICB3aGlsZShULS0pCiAgICAgICAgc29sdmUoKTsKICAgIHJldHVybiAwOwp9Cg==