#include<bits/stdc++.h>
using namespace std;
long long int x[3001];
long long int qzh[3001][3001];
long long int dp[3001][301];
long long int work(int l,int r){
int mid=l+r>>1;
return qzh[mid][r]-qzh[mid][l-1];
}
int main(){
int v,p;
scanf("%d%d",&v,&p);
for(int i=1;i<=v;i++){
scanf("%lld",&x[i]);
}
sort(x+1,x+v+1);
for(int i=1;i<=v;i++){
for(int j=i-min(i,v-i+1)+1;j<=i+min(i+1,v-i+1)-1;j++){
qzh[i][j]=qzh[i][j-1]+abs(x[i]-x[j]);
}
}
for(int i=1;i<=v;i++){
for(int j=1;j<=p&&j<=i;j++){
long long int mi=999999999999;
for(int k=1;k+1<=i;k++){
mi=min(mi,dp[k][j-1]+work(k+1,i));
}
}
}
printf("%lld",dp[v][p]);
return 0;
}