#include <bits/stdc++.h>
#define ll long long
#define TIME (1.0*clock()/CLOCKS_PER_SEC)
using namespace std;
void input(){
#define taskname ""
if(fopen(taskname ".inp", "r")){
freopen(taskname ".inp", "r", stdin);
freopen(taskname ".out","w",stdout);
}
}
const int N = 2e5+1;
const ll INF =1e18;
const int Q =1e9+7;
ll a[N];
ll n,k;
array<ll,2>get(ll mid){
vector<array<ll,2>>dp(n+1,{INF,0});
dp[0] = {0,0};
for(ll i=1;i<=n;++i){
if(i >=1) dp[i] = min(dp[i],dp[i-1]);
if(i >= 2) dp[i] = min(dp[i],{dp[i-2][0] + (a[i]-a[i-1])*(a[i]-a[i-1]) - mid, dp[i-2][1] - 1});
}
return dp[n];
}
int main(){
cin.tie(0)->sync_with_stdio(0);
cout.tie(0);
input();
cin >> n >> k;
for(ll i=1;i<=n;++i) cin >> a[i];
sort(a+1,a+n+1);
ll l = 0, r = 1e14;
ll ans = -1;
array<ll,2>res = {0,0};
while(l <= r){
ll mid = (l+r) >> 1;
auto cur = get(mid);
if(-cur[1] >= k){
ans = mid;
res = cur;
r = mid - 1;
}
else l = mid+1;
}
cout << res[0] + ans*k << endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgVElNRSAoMS4wKmNsb2NrKCkvQ0xPQ0tTX1BFUl9TRUMpCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIGlucHV0KCl7CgkjZGVmaW5lIHRhc2tuYW1lICIiCglpZihmb3Blbih0YXNrbmFtZSAiLmlucCIsICJyIikpewoJCWZyZW9wZW4odGFza25hbWUgIi5pbnAiLCAiciIsIHN0ZGluKTsKCQlmcmVvcGVuKHRhc2tuYW1lICIub3V0IiwidyIsc3Rkb3V0KTsKCX0KfQpjb25zdCBpbnQgTiA9IDJlNSsxOwpjb25zdCBsbCBJTkYgPTFlMTg7CmNvbnN0IGludCBRID0xZTkrNzsKbGwgYVtOXTsKbGwgbixrOwphcnJheTxsbCwyPmdldChsbCBtaWQpewogICAgdmVjdG9yPGFycmF5PGxsLDI+PmRwKG4rMSx7SU5GLDB9KTsKICAgIGRwWzBdID0gezAsMH07CiAgICBmb3IobGwgaT0xO2k8PW47KytpKXsKICAgICAgICBpZihpID49MSkgZHBbaV0gPSBtaW4oZHBbaV0sZHBbaS0xXSk7CiAgICAgICAgaWYoaSA+PSAyKSBkcFtpXSA9IG1pbihkcFtpXSx7ZHBbaS0yXVswXSArIChhW2ldLWFbaS0xXSkqKGFbaV0tYVtpLTFdKSAtIG1pZCwgZHBbaS0yXVsxXSAtIDF9KTsKICAgIH0KICAgIHJldHVybiBkcFtuXTsKfQppbnQgbWFpbigpewoJY2luLnRpZSgwKS0+c3luY193aXRoX3N0ZGlvKDApOwoJY291dC50aWUoMCk7CglpbnB1dCgpOwoJY2luID4+IG4gPj4gazsKICAgIGZvcihsbCBpPTE7aTw9bjsrK2kpIGNpbiA+PiBhW2ldOwogICAgc29ydChhKzEsYStuKzEpOwogICAgbGwgbCA9IDAsIHIgPSAxZTE0OwogICAgbGwgYW5zID0gLTE7CiAgICBhcnJheTxsbCwyPnJlcyA9IHswLDB9OwogICAgd2hpbGUobCA8PSByKXsKICAgICAgICBsbCBtaWQgPSAobCtyKSA+PiAxOwogICAgICAgIGF1dG8gY3VyID0gZ2V0KG1pZCk7CiAgICAgICAgaWYoLWN1clsxXSA+PSBrKXsKICAgICAgICAgICAgYW5zID0gbWlkOwogICAgICAgICAgICByZXMgPSBjdXI7CiAgICAgICAgICAgIHIgPSBtaWQgLSAxOwogICAgICAgIH0KICAgICAgICBlbHNlIGwgPSBtaWQrMTsKICAgIH0KICAgIGNvdXQgPDwgcmVzWzBdICsgYW5zKmsgPDwgZW5kbDsKCXJldHVybiAwOwp9Cg==