#include <bits/stdc++.h>
#define ll long long
#define TIME (1.0*clock()/CLOCKS_PER_SEC)
using namespace std;
const int N = 2e5+1;
const ll INF =1e18;
const int Q =1e9+7;
ll a[N];
ll n,k;
namespace sub1{
int main(){
sort(a+1,a+n+1);
vector<vector<ll>>dp(n+1,vector<ll>(k+1,INF));
dp[0][0] = 0;
for(ll i=1;i<=n;++i){
dp[i][0] = 0;
for(ll j=0;j<=min(k,i);++j){
dp[i][j] = min(dp[i][j],dp[i-1][j]);
if(i >= 2 && j >= 1) dp[i][j] = min(dp[i][j],dp[i-2][j-1]+(a[i]-a[i-1])*(a[i]-a[i-1]));
}
}
cout << dp[n][k] << endl;
return 0;
}
}
int main(){
cin.tie(0)->sync_with_stdio(0);
cout.tie(0);
cin >> n >> k;
for(ll i=1;i<=n;++i) cin >> a[i];
sub1::main();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgVElNRSAoMS4wKmNsb2NrKCkvQ0xPQ0tTX1BFUl9TRUMpCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGludCBOID0gMmU1KzE7CmNvbnN0IGxsIElORiA9MWUxODsKY29uc3QgaW50IFEgPTFlOSs3OwpsbCBhW05dOwpsbCBuLGs7Cm5hbWVzcGFjZSBzdWIxewogICAgaW50IG1haW4oKXsKICAgICAgICBzb3J0KGErMSxhK24rMSk7CiAgICAgICAgdmVjdG9yPHZlY3RvcjxsbD4+ZHAobisxLHZlY3RvcjxsbD4oaysxLElORikpOwogICAgICAgIGRwWzBdWzBdID0gMDsKICAgICAgICBmb3IobGwgaT0xO2k8PW47KytpKXsKICAgICAgICAgICAgZHBbaV1bMF0gPSAwOwogICAgICAgICAgICBmb3IobGwgaj0wO2o8PW1pbihrLGkpOysrail7CiAgICAgICAgICAgICAgICBkcFtpXVtqXSA9IG1pbihkcFtpXVtqXSxkcFtpLTFdW2pdKTsKICAgICAgICAgICAgICAgIGlmKGkgPj0gMiAmJiBqID49IDEpIGRwW2ldW2pdID0gbWluKGRwW2ldW2pdLGRwW2ktMl1bai0xXSsoYVtpXS1hW2ktMV0pKihhW2ldLWFbaS0xXSkpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNvdXQgPDwgZHBbbl1ba10gPDwgZW5kbDsKICAgICAgICByZXR1cm4gMDsKICAgIH0KfQppbnQgbWFpbigpewoJY2luLnRpZSgwKS0+c3luY193aXRoX3N0ZGlvKDApOwoJY291dC50aWUoMCk7CgljaW4gPj4gbiA+PiBrOwogICAgZm9yKGxsIGk9MTtpPD1uOysraSkgY2luID4+IGFbaV07CiAgICBzdWIxOjptYWluKCk7CglyZXR1cm4gMDsKfQo=