#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; #define FOR(i,a,b) for(ll i=(a);i<(b);++i) #define ALL(v) (v).begin(), (v).end() #define p(s) cout<<(s)< void vprint(T &V){ for(auto v : V){ cout << v << " "; } cout << endl; } int main(){ cin.tie(0); ios::sync_with_stdio(false); // input ll N, K; cin >> N >> K; map mp; FOR(i, 0, N){ ll a; cin >> a; mp[a] = 1; } vector A; for(auto p : mp){ A.push_back(p.first); } sort(ALL(A)); ll L = A.size(); if(L<=K){ p(0); return 0; } // diff vector D; FOR(i, 1, L){ ll diff = A[i] - A[i-1]; D.push_back(diff); } sort(ALL(D)); ll num = L - K; // あと何回マージが必要か ll sum = 0; FOR(i, 0, num){ sum += D[i]; } p(sum); return 0; }