/*package whatever //do not write package name here */

import java.util.*;

class Main {
	public static void main (String[] args) {
	    Scanner sc=new Scanner(System.in);
	    int n=sc.nextInt();
	    int k=sc.nextInt();
	    int arr[]=new int[n];
	    for(int i=0;i<n;i++)
	    arr[i]=sc.nextInt();
	   // int dp[]=new int[100];
	    System.out.println(frog(arr,arr.length,k));
	}
static int frog(int arr[],int n,int k)
{
    int dp[]=new int[n];
    dp[0]=0;
    for(int i=1;i<n;i++)
    {
        dp[i]=1000000000;
        for(int j=i;j>=0 && (i-j)<=k;j--)
        {
        int option1=Math.abs(arr[i]-arr[j])+dp[j];
        dp[i]=Math.min(option1,dp[i]);
        }
    }
    return dp[n-1];
}
} import java.util.*; util.* java class Main {
	public static void main (String[] args) {
	    Scanner sc=new Scanner(System.in);
	    int n=sc.nextInt();
	    int k=sc.nextInt();
	    int arr[]=new int[n];
	    for(int i=0;i<n;i++)
	    arr[i]=sc.nextInt();
	   // int dp[]=new int[100];
	    System.out.println(frog(arr,arr.length,k));
	}
static int frog(int arr[],int n,int k)
{
    int dp[]=new int[n];
    dp[0]=0;
    for(int i=1;i<n;i++)
    {
        dp[i]=1000000000;
        for(int j=i;j>=0 && (i-j)<=k;j--)
        {
        int option1=Math.abs(arr[i]-arr[j])+dp[j];
        dp[i]=Math.min(option1,dp[i]);
        }
    }
    return dp[n-1];
}
} Main public static void main (String[] args) {
	    Scanner sc=new Scanner(System.in);
	    int n=sc.nextInt();
	    int k=sc.nextInt();
	    int arr[]=new int[n];
	    for(int i=0;i<n;i++)
	    arr[i]=sc.nextInt();
	   // int dp[]=new int[100];
	    System.out.println(frog(arr,arr.length,k));
	} main {
	    Scanner sc=new Scanner(System.in);
	    int n=sc.nextInt();
	    int k=sc.nextInt();
	    int arr[]=new int[n];
	    for(int i=0;i<n;i++)
	    arr[i]=sc.nextInt();
	   // int dp[]=new int[100];
	    System.out.println(frog(arr,arr.length,k));
	} Scanner sc=new Scanner(System.in); sc new Scanner(System.in) int n=sc.nextInt(); n sc.nextInt() sc.nextInt sc int k=sc.nextInt(); k sc.nextInt() sc.nextInt sc int arr[]=new int[n]; arr new int[n] n for(int i=0;i<n;i++)
	    arr[i]=sc.nextInt(); int i=0; int 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 System.out.println(frog(arr,arr.length,k)) System.out.println System.out System System.out frog(arr,arr.length,k) frog arr arr.length arr arr.length k String[] args args static int frog(int arr[],int n,int k)
{
    int dp[]=new int[n];
    dp[0]=0;
    for(int i=1;i<n;i++)
    {
        dp[i]=1000000000;
        for(int j=i;j>=0 && (i-j)<=k;j--)
        {
        int option1=Math.abs(arr[i]-arr[j])+dp[j];
        dp[i]=Math.min(option1,dp[i]);
        }
    }
    return dp[n-1];
} frog {
    int dp[]=new int[n];
    dp[0]=0;
    for(int i=1;i<n;i++)
    {
        dp[i]=1000000000;
        for(int j=i;j>=0 && (i-j)<=k;j--)
        {
        int option1=Math.abs(arr[i]-arr[j])+dp[j];
        dp[i]=Math.min(option1,dp[i]);
        }
    }
    return dp[n-1];
} int dp[]=new int[n]; dp new int[n] n dp[0]=0 dp[0] dp 0 0 for(int i=1;i<n;i++)
    {
        dp[i]=1000000000;
        for(int j=i;j>=0 && (i-j)<=k;j--)
        {
        int option1=Math.abs(arr[i]-arr[j])+dp[j];
        dp[i]=Math.min(option1,dp[i]);
        }
    } int i=1; int i=1; i 1 i<n i n i++ i++ i {
        dp[i]=1000000000;
        for(int j=i;j>=0 && (i-j)<=k;j--)
        {
        int option1=Math.abs(arr[i]-arr[j])+dp[j];
        dp[i]=Math.min(option1,dp[i]);
        }
    } {
        dp[i]=1000000000;
        for(int j=i;j>=0 && (i-j)<=k;j--)
        {
        int option1=Math.abs(arr[i]-arr[j])+dp[j];
        dp[i]=Math.min(option1,dp[i]);
        }
    } dp[i]=1000000000 dp[i] dp i 1000000000 for(int j=i;j>=0 && (i-j)<=k;j--)
        {
        int option1=Math.abs(arr[i]-arr[j])+dp[j];
        dp[i]=Math.min(option1,dp[i]);
        } int j=i; int j=i; j i j>=0 && (i-j)<=k j>=0 j 0 (i-j)<=k (i-j) i j k j-- j-- j {
        int option1=Math.abs(arr[i]-arr[j])+dp[j];
        dp[i]=Math.min(option1,dp[i]);
        } {
        int option1=Math.abs(arr[i]-arr[j])+dp[j];
        dp[i]=Math.min(option1,dp[i]);
        } int option1=Math.abs(arr[i]-arr[j])+dp[j]; option1 Math.abs(arr[i]-arr[j])+dp[j] Math.abs(arr[i]-arr[j]) Math.abs Math arr[i]-arr[j] arr[i] arr i arr[j] arr j dp[j] dp j dp[i]=Math.min(option1,dp[i]) dp[i] dp i Math.min(option1,dp[i]) Math.min Math option1 dp[i] dp i return dp[n-1]; dp[n-1] dp n-1 n 1 int arr[] arr int n n int k k
/*package whatever //do not write package name here */

import java.util.*;

class Main {
	public static void main (String[] args) {
	    Scanner sc=new Scanner(System.in);
	    int n=sc.nextInt();
	    int k=sc.nextInt();
	    int arr[]=new int[n];
	    for(int i=0;i<n;i++)
	    arr[i]=sc.nextInt();
	   // int dp[]=new int[100];
	    System.out.println(frog(arr,arr.length,k));
	}
static int frog(int arr[],int n,int k)
{
    int dp[]=new int[n];
    dp[0]=0;
    for(int i=1;i<n;i++)
    {
        dp[i]=1000000000;
        for(int j=i;j>=0 && (i-j)<=k;j--)
        {
        int option1=Math.abs(arr[i]-arr[j])+dp[j];
        dp[i]=Math.min(option1,dp[i]);
        }
    }
    return dp[n-1];
}
}