#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;
}
