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

public class Main{

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		
		BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
		
		String str[] = reader.readLine().split(" ");
		
		int stoneCount= Integer.parseInt(str[0]);
		int maxJump = Integer.parseInt(str[1]);
		
		String str1[] = reader.readLine().split(" ");
		
	    int stones[] = new int[stoneCount];
	    for(int i=0;i<stoneCount; i++) stones[i] = Integer.parseInt(str1[i]);
	    
	    int dp[] = new int[stoneCount+1];
	    Arrays.fill(dp, Integer.MAX_VALUE);
	    dp[0] = 0;
	    for(int i=0;i<stoneCount; i++)
	    {
	    	for(int j=i+1; j<=i+maxJump; j++)
	    	{
	    		if(j<stoneCount)
	    		{
	    			dp[j] = Math.min(dp[j], dp[i] + Math.abs(stones[i] - stones[j]));
	    		}
	    	}
	    }
	    System.out.println(dp[stoneCount-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