/* package codechef; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Main
{
    static long solve(long arr[],int k,int n){
        
        
        long t[]=new long[arr.length+1];
      
        for(int i=2;i<n;i++){
        long min=Long.MAX_VALUE;
             if(i-k<=0){
            for(int j=1;j<i;j++){
                
               
                    min=Math.min(min,Math.abs(arr[i]-arr[j])+t[j]);
                    
                }
             }
                else{
              
              for(int m=i-k;m<i;m++){
                      min=Math.min(min,Math.abs(arr[i]-arr[m])+t[m]);
              }
              
                    
                }
                t[i]=min;
            }
            
            
  return t[arr.length-1];          
        }
        
  
    
    
    
	public static void main (String[] args) throws java.lang.Exception
	{
	
	Scanner s=new Scanner(System.in);
	int n=s.nextInt();
	int k=s.nextInt();
	long arr[]=new long[n+1];
	
	for(int i=1;i<=n;i++){
	    arr[i]=s.nextLong();
	}

System.out.println(	solve(arr,k,n+1));
	
	
	}
} import java.util.*; util.* java import java.lang.*; lang.* java import java.io.*; io.* java class Main
{
    static long solve(long arr[],int k,int n){
        
        
        long t[]=new long[arr.length+1];
      
        for(int i=2;i<n;i++){
        long min=Long.MAX_VALUE;
             if(i-k<=0){
            for(int j=1;j<i;j++){
                
               
                    min=Math.min(min,Math.abs(arr[i]-arr[j])+t[j]);
                    
                }
             }
                else{
              
              for(int m=i-k;m<i;m++){
                      min=Math.min(min,Math.abs(arr[i]-arr[m])+t[m]);
              }
              
                    
                }
                t[i]=min;
            }
            
            
  return t[arr.length-1];          
        }
        
  
    
    
    
	public static void main (String[] args) throws java.lang.Exception
	{
	
	Scanner s=new Scanner(System.in);
	int n=s.nextInt();
	int k=s.nextInt();
	long arr[]=new long[n+1];
	
	for(int i=1;i<=n;i++){
	    arr[i]=s.nextLong();
	}

System.out.println(	solve(arr,k,n+1));
	
	
	}
} Main static long solve(long arr[],int k,int n){
        
        
        long t[]=new long[arr.length+1];
      
        for(int i=2;i<n;i++){
        long min=Long.MAX_VALUE;
             if(i-k<=0){
            for(int j=1;j<i;j++){
                
               
                    min=Math.min(min,Math.abs(arr[i]-arr[j])+t[j]);
                    
                }
             }
                else{
              
              for(int m=i-k;m<i;m++){
                      min=Math.min(min,Math.abs(arr[i]-arr[m])+t[m]);
              }
              
                    
                }
                t[i]=min;
            }
            
            
  return t[arr.length-1];          
        } solve {
        
        
        long t[]=new long[arr.length+1];
      
        for(int i=2;i<n;i++){
        long min=Long.MAX_VALUE;
             if(i-k<=0){
            for(int j=1;j<i;j++){
                
               
                    min=Math.min(min,Math.abs(arr[i]-arr[j])+t[j]);
                    
                }
             }
                else{
              
              for(int m=i-k;m<i;m++){
                      min=Math.min(min,Math.abs(arr[i]-arr[m])+t[m]);
              }
              
                    
                }
                t[i]=min;
            }
            
            
  return t[arr.length-1];          
        } long t[]=new long[arr.length+1]; t new long[arr.length+1] arr.length+1 arr.length arr arr.length 1 for(int i=2;i<n;i++){
        long min=Long.MAX_VALUE;
             if(i-k<=0){
            for(int j=1;j<i;j++){
                
               
                    min=Math.min(min,Math.abs(arr[i]-arr[j])+t[j]);
                    
                }
             }
                else{
              
              for(int m=i-k;m<i;m++){
                      min=Math.min(min,Math.abs(arr[i]-arr[m])+t[m]);
              }
              
                    
                }
                t[i]=min;
            } int i=2; int i=2; i 2 i<n i n i++ i++ i {
        long min=Long.MAX_VALUE;
             if(i-k<=0){
            for(int j=1;j<i;j++){
                
               
                    min=Math.min(min,Math.abs(arr[i]-arr[j])+t[j]);
                    
                }
             }
                else{
              
              for(int m=i-k;m<i;m++){
                      min=Math.min(min,Math.abs(arr[i]-arr[m])+t[m]);
              }
              
                    
                }
                t[i]=min;
            } {
        long min=Long.MAX_VALUE;
             if(i-k<=0){
            for(int j=1;j<i;j++){
                
               
                    min=Math.min(min,Math.abs(arr[i]-arr[j])+t[j]);
                    
                }
             }
                else{
              
              for(int m=i-k;m<i;m++){
                      min=Math.min(min,Math.abs(arr[i]-arr[m])+t[m]);
              }
              
                    
                }
                t[i]=min;
            } long min=Long.MAX_VALUE; min Long.MAX_VALUE Long Long.MAX_VALUE if(i-k<=0){
            for(int j=1;j<i;j++){
                
               
                    min=Math.min(min,Math.abs(arr[i]-arr[j])+t[j]);
                    
                }
             }
                else{
              
              for(int m=i-k;m<i;m++){
                      min=Math.min(min,Math.abs(arr[i]-arr[m])+t[m]);
              }
              
                    
                } i-k<=0 i-k i k 0 {
            for(int j=1;j<i;j++){
                
               
                    min=Math.min(min,Math.abs(arr[i]-arr[j])+t[j]);
                    
                }
             } for(int j=1;j<i;j++){
                
               
                    min=Math.min(min,Math.abs(arr[i]-arr[j])+t[j]);
                    
                } int j=1; int j=1; j 1 j<i j i j++ j++ j {
                
               
                    min=Math.min(min,Math.abs(arr[i]-arr[j])+t[j]);
                    
                } {
                
               
                    min=Math.min(min,Math.abs(arr[i]-arr[j])+t[j]);
                    
                } min=Math.min(min,Math.abs(arr[i]-arr[j])+t[j]) min Math.min(min,Math.abs(arr[i]-arr[j])+t[j]) Math.min Math min Math.abs(arr[i]-arr[j])+t[j] Math.abs(arr[i]-arr[j]) Math.abs Math arr[i]-arr[j] arr[i] arr i arr[j] arr j t[j] t j {
              
              for(int m=i-k;m<i;m++){
                      min=Math.min(min,Math.abs(arr[i]-arr[m])+t[m]);
              }
              
                    
                } for(int m=i-k;m<i;m++){
                      min=Math.min(min,Math.abs(arr[i]-arr[m])+t[m]);
              } int m=i-k; int m=i-k; m i-k i k m<i m i m++ m++ m {
                      min=Math.min(min,Math.abs(arr[i]-arr[m])+t[m]);
              } {
                      min=Math.min(min,Math.abs(arr[i]-arr[m])+t[m]);
              } min=Math.min(min,Math.abs(arr[i]-arr[m])+t[m]) min Math.min(min,Math.abs(arr[i]-arr[m])+t[m]) Math.min Math min Math.abs(arr[i]-arr[m])+t[m] Math.abs(arr[i]-arr[m]) Math.abs Math arr[i]-arr[m] arr[i] arr i arr[m] arr m t[m] t m t[i]=min t[i] t i min return t[arr.length-1]; t[arr.length-1] t arr.length-1 arr.length arr arr.length 1 long arr[] arr int k k int n n public static void main (String[] args) throws java.lang.Exception
	{
	
	Scanner s=new Scanner(System.in);
	int n=s.nextInt();
	int k=s.nextInt();
	long arr[]=new long[n+1];
	
	for(int i=1;i<=n;i++){
	    arr[i]=s.nextLong();
	}

System.out.println(	solve(arr,k,n+1));
	
	
	} main {
	
	Scanner s=new Scanner(System.in);
	int n=s.nextInt();
	int k=s.nextInt();
	long arr[]=new long[n+1];
	
	for(int i=1;i<=n;i++){
	    arr[i]=s.nextLong();
	}

System.out.println(	solve(arr,k,n+1));
	
	
	} Scanner s=new Scanner(System.in); s new Scanner(System.in) int n=s.nextInt(); n s.nextInt() s.nextInt s int k=s.nextInt(); k s.nextInt() s.nextInt s long arr[]=new long[n+1]; arr new long[n+1] n+1 n 1 for(int i=1;i<=n;i++){
	    arr[i]=s.nextLong();
	} int i=1; int i=1; i 1 i<=n i n i++ i++ i {
	    arr[i]=s.nextLong();
	} {
	    arr[i]=s.nextLong();
	} arr[i]=s.nextLong() arr[i] arr i s.nextLong() s.nextLong s System.out.println(	solve(arr,k,n+1)) System.out.println System.out System System.out solve(arr,k,n+1) solve arr k n+1 n 1 String[] args args
/* package codechef; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Main
{
    static long solve(long arr[],int k,int n){
        
        
        long t[]=new long[arr.length+1];
      
        for(int i=2;i<n;i++){
        long min=Long.MAX_VALUE;
             if(i-k<=0){
            for(int j=1;j<i;j++){
                
               
                    min=Math.min(min,Math.abs(arr[i]-arr[j])+t[j]);
                    
                }
             }
                else{
              
              for(int m=i-k;m<i;m++){
                      min=Math.min(min,Math.abs(arr[i]-arr[m])+t[m]);
              }
              
                    
                }
                t[i]=min;
            }
            
            
  return t[arr.length-1];          
        }
        
  
    
    
    
	public static void main (String[] args) throws java.lang.Exception
	{
	
	Scanner s=new Scanner(System.in);
	int n=s.nextInt();
	int k=s.nextInt();
	long arr[]=new long[n+1];
	
	for(int i=1;i<=n;i++){
	    arr[i]=s.nextLong();
	}

System.out.println(	solve(arr,k,n+1));
	
	
	}
}
