/*
AizuOnline A2004
Title
*/
#include <stdio.h>
// Select Below
//#include <stdlib.h>
//#include <string.h>
//#include <float.h>
//#include <math.h>
//#include <limits.h>
//Global data section
int t;
int n,k;
int x[100000];
int kukan[100000];
//
int compare(const void *x , const void *y)
{
  return(*(int *)y - *(int *)x);
}
print_kukan()
{
  int i;
  for(i=0;i<n;i++)
    printf("%d ",kukan[i]);
  printf("\n");
}

main()
{
  int i,res;

  scanf("%d",&t);
  while(t--)
    {
      scanf("%d %d",&n,&k);
	{
	  for(i=0;i<n;i++)
	    {
	      scanf("%d",&(x[i]));
	      if(i)
		kukan[i]=x[i]-x[i-1];
	      else
		kukan[i]=x[i];
	    }

	  if(n==1 || k >= n)
	    {
	      printf("0\n");
	      continue;
	    }

	  //print_kukan();
	  qsort(kukan,n,sizeof(int),compare);
	  res = x[n-1]-x[0];
	  for(i=0;i<k-1;i++)
	    res -= kukan[i];
	  
	  printf("%d\n",res);
	}
    }
return(0);
}