/**
 * 
 */
//package AtCoder;
import java.util.*;
/**
 * @author Shivansh Singh
 *
 */
public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
		int n,k,i,min,j,p;
		n=sc.nextInt();
		k=sc.nextInt();
		int []arr=new int[n];
		for (i=0;i<n;i++)
			arr[i]=sc.nextInt();
		int []dp=new int[n+1];
		dp[0]=dp[1]=0;
		for (i=2;i<=n;i++) {
			j=i-1;
			min=dp[i-1]+(int)Math.abs(arr[i-1]-arr[i-2]);
			while(j>=1 && (i-j)<=k) {
				p=dp[j]+(int)Math.abs(arr[i-1]-arr[j-1]);
				min=(int)Math.min(min,p);
				j--;
			}
			dp[i]=min;
		}
		System.out.println(dp[n]);
		sc.close();
	}

} import java.util.*; util.* java public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
		int n,k,i,min,j,p;
		n=sc.nextInt();
		k=sc.nextInt();
		int []arr=new int[n];
		for (i=0;i<n;i++)
			arr[i]=sc.nextInt();
		int []dp=new int[n+1];
		dp[0]=dp[1]=0;
		for (i=2;i<=n;i++) {
			j=i-1;
			min=dp[i-1]+(int)Math.abs(arr[i-1]-arr[i-2]);
			while(j>=1 && (i-j)<=k) {
				p=dp[j]+(int)Math.abs(arr[i-1]-arr[j-1]);
				min=(int)Math.min(min,p);
				j--;
			}
			dp[i]=min;
		}
		System.out.println(dp[n]);
		sc.close();
	}

} Main /**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
		int n,k,i,min,j,p;
		n=sc.nextInt();
		k=sc.nextInt();
		int []arr=new int[n];
		for (i=0;i<n;i++)
			arr[i]=sc.nextInt();
		int []dp=new int[n+1];
		dp[0]=dp[1]=0;
		for (i=2;i<=n;i++) {
			j=i-1;
			min=dp[i-1]+(int)Math.abs(arr[i-1]-arr[i-2]);
			while(j>=1 && (i-j)<=k) {
				p=dp[j]+(int)Math.abs(arr[i-1]-arr[j-1]);
				min=(int)Math.min(min,p);
				j--;
			}
			dp[i]=min;
		}
		System.out.println(dp[n]);
		sc.close();
	} main {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
		int n,k,i,min,j,p;
		n=sc.nextInt();
		k=sc.nextInt();
		int []arr=new int[n];
		for (i=0;i<n;i++)
			arr[i]=sc.nextInt();
		int []dp=new int[n+1];
		dp[0]=dp[1]=0;
		for (i=2;i<=n;i++) {
			j=i-1;
			min=dp[i-1]+(int)Math.abs(arr[i-1]-arr[i-2]);
			while(j>=1 && (i-j)<=k) {
				p=dp[j]+(int)Math.abs(arr[i-1]-arr[j-1]);
				min=(int)Math.min(min,p);
				j--;
			}
			dp[i]=min;
		}
		System.out.println(dp[n]);
		sc.close();
	} Scanner sc=new Scanner(System.in); sc new Scanner(System.in) int n n k k i i min min j j p; p n=sc.nextInt() n sc.nextInt() sc.nextInt sc k=sc.nextInt() k sc.nextInt() sc.nextInt sc int []arr=new int[n]; arr new int[n] n for (i=0;i<n;i++)
			arr[i]=sc.nextInt(); i=0; i=0 i 0 i<n i n i++ i++ i arr[i]=sc.nextInt(); arr[i]=sc.nextInt() arr[i] arr i sc.nextInt() sc.nextInt sc int []dp=new int[n+1]; dp new int[n+1] n+1 n 1 dp[0]=dp[1]=0 dp[0] dp 0 dp[1]=0 dp[1] dp 1 0 for (i=2;i<=n;i++) {
			j=i-1;
			min=dp[i-1]+(int)Math.abs(arr[i-1]-arr[i-2]);
			while(j>=1 && (i-j)<=k) {
				p=dp[j]+(int)Math.abs(arr[i-1]-arr[j-1]);
				min=(int)Math.min(min,p);
				j--;
			}
			dp[i]=min;
		} i=2; i=2 i 2 i<=n i n i++ i++ i {
			j=i-1;
			min=dp[i-1]+(int)Math.abs(arr[i-1]-arr[i-2]);
			while(j>=1 && (i-j)<=k) {
				p=dp[j]+(int)Math.abs(arr[i-1]-arr[j-1]);
				min=(int)Math.min(min,p);
				j--;
			}
			dp[i]=min;
		} {
			j=i-1;
			min=dp[i-1]+(int)Math.abs(arr[i-1]-arr[i-2]);
			while(j>=1 && (i-j)<=k) {
				p=dp[j]+(int)Math.abs(arr[i-1]-arr[j-1]);
				min=(int)Math.min(min,p);
				j--;
			}
			dp[i]=min;
		} j=i-1 j i-1 i 1 min=dp[i-1]+(int)Math.abs(arr[i-1]-arr[i-2]) min dp[i-1]+(int)Math.abs(arr[i-1]-arr[i-2]) dp[i-1] dp i-1 i 1 (int)Math.abs(arr[i-1]-arr[i-2]) Math.abs Math arr[i-1]-arr[i-2] arr[i-1] arr i-1 i 1 arr[i-2] arr i-2 i 2 while(j>=1 && (i-j)<=k) {
				p=dp[j]+(int)Math.abs(arr[i-1]-arr[j-1]);
				min=(int)Math.min(min,p);
				j--;
			} j>=1 && (i-j)<=k j>=1 j 1 (i-j)<=k (i-j) i j k {
				p=dp[j]+(int)Math.abs(arr[i-1]-arr[j-1]);
				min=(int)Math.min(min,p);
				j--;
			} p=dp[j]+(int)Math.abs(arr[i-1]-arr[j-1]) p dp[j]+(int)Math.abs(arr[i-1]-arr[j-1]) dp[j] dp j (int)Math.abs(arr[i-1]-arr[j-1]) Math.abs Math arr[i-1]-arr[j-1] arr[i-1] arr i-1 i 1 arr[j-1] arr j-1 j 1 min=(int)Math.min(min,p) min (int)Math.min(min,p) Math.min Math min p j-- j dp[i]=min dp[i] dp i min System.out.println(dp[n]) System.out.println System.out System System.out dp[n] dp n sc.close() sc.close sc String[] args args public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
		int n,k,i,min,j,p;
		n=sc.nextInt();
		k=sc.nextInt();
		int []arr=new int[n];
		for (i=0;i<n;i++)
			arr[i]=sc.nextInt();
		int []dp=new int[n+1];
		dp[0]=dp[1]=0;
		for (i=2;i<=n;i++) {
			j=i-1;
			min=dp[i-1]+(int)Math.abs(arr[i-1]-arr[i-2]);
			while(j>=1 && (i-j)<=k) {
				p=dp[j]+(int)Math.abs(arr[i-1]-arr[j-1]);
				min=(int)Math.min(min,p);
				j--;
			}
			dp[i]=min;
		}
		System.out.println(dp[n]);
		sc.close();
	}

} public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
		int n,k,i,min,j,p;
		n=sc.nextInt();
		k=sc.nextInt();
		int []arr=new int[n];
		for (i=0;i<n;i++)
			arr[i]=sc.nextInt();
		int []dp=new int[n+1];
		dp[0]=dp[1]=0;
		for (i=2;i<=n;i++) {
			j=i-1;
			min=dp[i-1]+(int)Math.abs(arr[i-1]-arr[i-2]);
			while(j>=1 && (i-j)<=k) {
				p=dp[j]+(int)Math.abs(arr[i-1]-arr[j-1]);
				min=(int)Math.min(min,p);
				j--;
			}
			dp[i]=min;
		}
		System.out.println(dp[n]);
		sc.close();
	}

} Main
/**
 * 
 */
//package AtCoder;
import java.util.*;
/**
 * @author Shivansh Singh
 *
 */
public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
		int n,k,i,min,j,p;
		n=sc.nextInt();
		k=sc.nextInt();
		int []arr=new int[n];
		for (i=0;i<n;i++)
			arr[i]=sc.nextInt();
		int []dp=new int[n+1];
		dp[0]=dp[1]=0;
		for (i=2;i<=n;i++) {
			j=i-1;
			min=dp[i-1]+(int)Math.abs(arr[i-1]-arr[i-2]);
			while(j>=1 && (i-j)<=k) {
				p=dp[j]+(int)Math.abs(arr[i-1]-arr[j-1]);
				min=(int)Math.min(min,p);
				j--;
			}
			dp[i]=min;
		}
		System.out.println(dp[n]);
		sc.close();
	}

}
