#define _USE_MATH_DEFINES #include //cin, cout #include //vector #include //sort,min,max,count #include //string,getline, to_string #include //abs(int) #include //swap, pair #include //tuple #include //deque #include //INT_MAX #include //bitset #include //sqrt, ceil. M_PI, pow, sin #include //fixed #include //setprecision #include //stringstream #include //gcd, assumlate #include //randam_device #include //numeric_limits #include using namespace std; constexpr long long int D_MOD = 1000000007; int main() { int N, M; cin >> N >> M; vector A(N), B(N - 1); for (int i = 0; i < N; i++) { cin >> A.at(i); } sort(A.begin(), A.end()); for (int i = 0; i < N - 1; i++) { B.at(i) = (A.at(i + 1) - A.at(i)) * (A.at(i + 1) - A.at(i)); } int64_t ans = 0; sort(B.begin(), B.end()); for (int i = 0; i < M - 1; i++) { ans += B.at(i); } cout << ans << endl; return 0; }