import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
     	int n = Integer.parseInt(st.nextToken());
     	int k = Integer.parseInt(st.nextToken());
     	int ar[] = new int[n];
   		int dp[] = new int[n];
   		st = new StringTokenizer(br.readLine());
       	for(int i =0;i<n;i++) {
       		ar[i] = Integer.parseInt(st.nextToken());
       	}
       
       	dp[0] = 0;
       	for(int i =1;i<n; i++) {
       		dp[i] = Integer.MAX_VALUE;
       		for(int j = i-1; j>=Math.max(0, i-k); j--)
       			dp[i] = Math.min(dp[i] , Math.abs(ar[i] - ar[j]) + dp[j]);
       	}
       	
       	System.out.println(dp[n-1]);
     
       
	}
}
/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz