#include <bits/stdc++.h>
using namespace std;
#pragma GCC optimize("O3")
#define ll long long
#define fori(i,j,k) for(ll i=j; i<=k;i++)
#define study ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
#define pb push_back
#define all(s) s.begin(),s.end()
#define ins insert
#define ss second
#define ff first
const ll sz=1e6+10;
ll INF=1e12;
ll mod=1e9+7;
void work(){
ll n,k;
cin>>n>>k;
k--;
priority_queue<ll>pq;
vector<ll>v(n+10,0);
ll ans=0;
fori(i,1,n){
cin>>v[i];
if(i>1){
if((v[i]-v[i-1])>1){
pq.push((v[i]-v[i-1]-1));
}
}
}
ans=v[n]-v[1]+1;
while(k and !pq.empty()){
ans-=pq.top();
pq.pop();
k--;
}
cout<<ans<<endl;
}
int main()
{
//#ifndef LOCAL
//freopen("mootube.in","r",stdin);
//freopen("log.txt","w",stdout);
//#endif
study;
ll t=1;
//cin>>t;
fori(i,1,t)
work();
}