#include <stdio.h>
#define ok printf("ok\n");

int min ( int a[], int n){
  int menor=a[0];
  for(int i=1; i<n; i++){
    if(menor>a[i])
      menor=a[i];
  }
  return menor;
}

int max(int a, int b){
  if(a>b)
    return a;
  else
    return b;
}

int absol(int a, int b){
  int sub = a-b;
  if(sub<0)
    return 0-sub;
  else
    return sub;
}

int main(void) {
  
  int n, k, h[n], matriz[n][n], coluna[n], minCost;
   

  //fflush(stdin);

  scanf("%d", &n);
  scanf("%d", &k);

  //printf("n=%d, k=%d\n", n, k);

  fflush(stdin);

  for(int i=0; i<n; i++){
    for(int j=0; j<n; j++){
      matriz[i][j]=100000;
    }
  }

  for(int i=0; i<n; i++){
    scanf("%d", &h[i]);
    fflush(stdin);
  }

  for(int i=0; i<n; i++){
    //printf("%d ", h[i]);
  }

  

  


  matriz[0][0]=0;

  for(int i=0; i<n; i++){

    for(int j=0; j<n; j++){
      coluna[j]=matriz[i][j];
      //printf("%d\n", coluna[j]);
    }

    for(int j=i; j<max(n, i+k); j++){
      int mini = min(matriz[i], n);
      int abs = absol(h[i], h[j]);

      //printf("min = %d, dif: %d - %d = %d \n", mini, h[i], h[j], abs);
      matriz[i][j]=mini+abs;
    }
  }

  minCost = matriz[n][n];

  printf("%d\n", minCost);
}