#include<bits/stdc++.h>
#define int long long
using namespace std;
vector<int> p;
int c;
int f(int x){
if (x==p[x]) return x;
return p[x] = f(p[x]);
}
bool u(int x, int y){
if (f(x)==f(y)) return false;
p[f(x)] = p[f(y)];
c--;
return true;
}
signed main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
int n,k;
cin>>n>>k;
c = n;
vector<pair<int,pair<int,int> > > n2;
vector<int> n1;
n1.resize(n);
for (int i = 0;i<n;i++){
cin>>n1[i];
}
for (int i = 1;i<n;i++){
n2.push_back(make_pair(n1[i]-n1[i-1],make_pair(i-1,i)));
}
sort(n2.begin(),n2.end());
p.resize(n);
for (int i = 0;i<n;i++) p[i] = i;
int ans = 0;
for (int i = 0;i<n-1;i++){
if (c==k) break;
if (u(n2[i].second.first,n2[i].second.second)){
ans = ans+n2[i].first;
}
if (c==k) break;
}
cout<<ans+c;
return 0;
}