#include <bits/stdc++.h>
using namespace std;
#define int long long
#define ll long long
typedef vector<int> vi;
typedef vector<string> vs;
typedef pair<int, int> pi;
#define F first
#define S second
#define pb push_back
#define sz(a) a.size()
#define Print(a) for(auto x : a) {cout << x << " ";} cout << endl;
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define allr(x) (x).rbegin(), (x).rend()
#define endl "\n"
#define YES cout << "YES\n";
#define NO cout << "NO\n";
int n, m;
vi a;
int check(int mid) {
int sm = 0;
int M = 0;
for(int i = 0; i < n; i++) {
int j = i;
while(j<n&&(a[j]-a[i])<=mid) {
j++;
}
M++;
if (M>m) {
return -1;
}
j--;
sm += (a[j]-a[i]);
i = j;
}
return sm;
}
void solve() {
cin >> n >> m;
a = vi(n);
for(int i = 0; i < n; i++) {
cin >> a[i];
}
sort(all(a));
int l = 0;
int r = 1e18;
int res = 1e18;
while(l <= r) {
int mid = (l+r)/2;
int g = check(mid);
if (g != -1) {
res = min(g, res);
r = mid-1;
} else {
l = mid+1;
}
}
cout << res << endl;
}
int32_t main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
//freopen("wtf.in", "r", stdin);
int t = 1;
//cin >> t;
while(t--) {
solve();
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGludCBsb25nIGxvbmcKI2RlZmluZSBsbCBsb25nIGxvbmcKdHlwZWRlZiB2ZWN0b3I8aW50PiB2aTsKdHlwZWRlZiB2ZWN0b3I8c3RyaW5nPiB2czsKdHlwZWRlZiBwYWlyPGludCwgaW50PiBwaTsKI2RlZmluZSBGIGZpcnN0CiNkZWZpbmUgUyBzZWNvbmQKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBzeihhKSBhLnNpemUoKQojZGVmaW5lIFByaW50KGEpIGZvcihhdXRvIHggOiBhKSB7Y291dCA8PCB4IDw8ICIgIjt9IGNvdXQgPDwgZW5kbDsKI2RlZmluZSBhbGwoeCkgKHgpLmJlZ2luKCksICh4KS5lbmQoKQojZGVmaW5lIHJhbGwoeCkgKHgpLnJiZWdpbigpLCAoeCkucmVuZCgpCiNkZWZpbmUgYWxscih4KSAoeCkucmJlZ2luKCksICh4KS5yZW5kKCkKI2RlZmluZSBlbmRsICJcbiIKI2RlZmluZSBZRVMgY291dCA8PCAiWUVTXG4iOwojZGVmaW5lIE5PIGNvdXQgPDwgIk5PXG4iOwoKaW50IG4sIG07IAp2aSBhOwoKaW50IGNoZWNrKGludCBtaWQpIHsKICAgIGludCBzbSA9IDA7CiAgICBpbnQgTSA9IDA7CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgaW50IGogPSBpOwogICAgICAgIHdoaWxlKGo8biYmKGFbal0tYVtpXSk8PW1pZCkgewogICAgICAgICAgICBqKys7CiAgICAgICAgfQogICAgICAgIE0rKzsKICAgICAgICBpZiAoTT5tKSB7CiAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICB9CiAgICAgICAgai0tOwogICAgICAgIHNtICs9IChhW2pdLWFbaV0pOwogICAgICAgIGkgPSBqOwogICAgfQoKICAgIHJldHVybiBzbTsKfQoKdm9pZCBzb2x2ZSgpIHsKICAgIGNpbiA+PiBuID4+IG07CiAgICBhID0gdmkobik7CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgY2luID4+IGFbaV07CiAgICB9CiAgICBzb3J0KGFsbChhKSk7CgogICAgaW50IGwgPSAwOwogICAgaW50IHIgPSAxZTE4OwogICAgaW50IHJlcyA9IDFlMTg7CiAgICB3aGlsZShsIDw9IHIpIHsKICAgICAgICBpbnQgbWlkID0gKGwrcikvMjsKICAgICAgICBpbnQgZyA9IGNoZWNrKG1pZCk7CiAgICAgICAgaWYgKGcgIT0gLTEpIHsKICAgICAgICAgICAgcmVzID0gbWluKGcsIHJlcyk7CiAgICAgICAgICAgIHIgPSBtaWQtMTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsID0gbWlkKzE7CiAgICAgICAgfQogICAgfQoKICAgIGNvdXQgPDwgcmVzIDw8IGVuZGw7Cn0KCmludDMyX3QgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZSgwKTsKCiAgICAvL2ZyZW9wZW4oInd0Zi5pbiIsICJyIiwgc3RkaW4pOwogICAgaW50IHQgPSAxOwogICAgLy9jaW4gPj4gdDsKICAgIHdoaWxlKHQtLSkgewogICAgICAgIHNvbHZlKCk7CiAgICB9Cn0K