#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;
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);
vector<ll>w(n+1);
for(ll i=1;i<n;++i) w[i] = (a[i+1] - a[i])*(a[i+1]-a[i]);
w[0] = INF;
w[n] = INF;
ll sz = n-1;
vector<ll>pre(sz+2),nxt(sz+2);
vector<bool>ck(sz+2,0);
for(ll i=0;i<=sz+1;++i){
pre[i] = i-1;
nxt[i] = i+1;
}
priority_queue<pair<ll,ll>>q;
for(ll i=1;i<=sz;++i) q.push({-w[i],i});
ll ans = 0;
while(k--){
while(ck[q.top().second] || -q.top().first != w [q.top().second]) q.pop();
ll val = q.top().first;
ll id = q.top().second;
q.pop();
val = -val;
ans += val;
ll l = pre[id], r = nxt[id];
w[id] = w[l] + w[r] - w[id];
ck[l] = 1;
ck[r] = 1;
if(l >= 0) pre[id] = pre[l];
else pre[id] = -1;
if(r<=sz+1) nxt[id] = nxt[r];
else nxt[id] = sz+2;
if(pre[id] >= 0) nxt[pre[id]] = id;
if(nxt[id] <= sz+1) pre[nxt[id]] = id;
q.push({-w[id],id});
}
cout << ans << endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgVElNRSAoMS4wKmNsb2NrKCkvQ0xPQ0tTX1BFUl9TRUMpCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIGlucHV0KCl7CgkjZGVmaW5lIHRhc2tuYW1lICIiCglpZihmb3Blbih0YXNrbmFtZSAiLmlucCIsICJyIikpewoJCWZyZW9wZW4odGFza25hbWUgIi5pbnAiLCAiciIsIHN0ZGluKTsKCQlmcmVvcGVuKHRhc2tuYW1lICIub3V0IiwidyIsc3Rkb3V0KTsKCX0KfQpjb25zdCBpbnQgTiA9IDJlNSsxOwpjb25zdCBsbCBJTkYgPTFlMTg7CmNvbnN0IGludCBRID0xZTkrNzsKbGwgYVtOXTsKbGwgbixrOwppbnQgbWFpbigpewoJY2luLnRpZSgwKS0+c3luY193aXRoX3N0ZGlvKDApOwoJY291dC50aWUoMCk7CglpbnB1dCgpOwoJY2luID4+IG4gPj4gazsKCWZvcihsbCBpPTE7aTw9bjsrK2kpIGNpbiA+PiBhW2ldOwogICAgc29ydChhKzEsYStuKzEpOwogICAgdmVjdG9yPGxsPncobisxKTsKICAgIGZvcihsbCBpPTE7aTxuOysraSkgd1tpXSA9IChhW2krMV0gLSBhW2ldKSooYVtpKzFdLWFbaV0pOwogICAgd1swXSA9IElORjsKICAgIHdbbl0gPSBJTkY7CiAgICBsbCBzeiA9IG4tMTsKICAgIHZlY3RvcjxsbD5wcmUoc3orMiksbnh0KHN6KzIpOwogICAgdmVjdG9yPGJvb2w+Y2soc3orMiwwKTsKICAgIGZvcihsbCBpPTA7aTw9c3orMTsrK2kpewogICAgICAgIHByZVtpXSA9IGktMTsKICAgICAgICBueHRbaV0gPSBpKzE7CiAgICB9CiAgICBwcmlvcml0eV9xdWV1ZTxwYWlyPGxsLGxsPj5xOwogICAgZm9yKGxsIGk9MTtpPD1zejsrK2kpIHEucHVzaCh7LXdbaV0saX0pOwogICAgbGwgYW5zID0gMDsKICAgIHdoaWxlKGstLSl7CiAgICAgICAgd2hpbGUoY2tbcS50b3AoKS5zZWNvbmRdIHx8IC1xLnRvcCgpLmZpcnN0ICE9IHcgW3EudG9wKCkuc2Vjb25kXSkgcS5wb3AoKTsKICAgICAgICBsbCB2YWwgPSBxLnRvcCgpLmZpcnN0OwogICAgICAgIGxsIGlkID0gcS50b3AoKS5zZWNvbmQ7CiAgICAgICAgcS5wb3AoKTsKICAgICAgICB2YWwgPSAtdmFsOwogICAgICAgIGFucyArPSB2YWw7CiAgICAgICAgbGwgbCA9IHByZVtpZF0sIHIgPSBueHRbaWRdOwogICAgICAgIHdbaWRdID0gd1tsXSArIHdbcl0gLSB3W2lkXTsKICAgICAgICBja1tsXSA9IDE7CiAgICAgICAgY2tbcl0gPSAxOwogICAgICAgIGlmKGwgPj0gMCkgcHJlW2lkXSA9IHByZVtsXTsKICAgICAgICBlbHNlIHByZVtpZF0gPSAtMTsgCiAgICAgICAgaWYocjw9c3orMSkgbnh0W2lkXSA9IG54dFtyXTsKICAgICAgICBlbHNlIG54dFtpZF0gPSBzeisyOwogICAgICAgIGlmKHByZVtpZF0gPj0gMCkgbnh0W3ByZVtpZF1dID0gaWQ7CiAgICAgICAgaWYobnh0W2lkXSA8PSBzeisxKSBwcmVbbnh0W2lkXV0gPSBpZDsKICAgICAgICBxLnB1c2goey13W2lkXSxpZH0pOwogICAgfQogICAgY291dCA8PCBhbnMgPDwgZW5kbDsKCXJldHVybiAwOwp9