#include<bits/stdc++.h>
using namespace std;
#define Study ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL)
#define ll long long
#define ull unsigned long long
#define pb push_back
#define ff first
#define ss second
#define ins insert
#define all(x) x.begin(),x.end()
#define fori(x,y,z) for(ll x=y;x<=z;x++)
const ll INF=1e9;
const ll sz=2e5+10;
const ll mod=1e9;
void work(){
ll n,k;
cin>>n>>k;
vector<pair<ll,ll>>v(n+10);
multiset<ll>st;
ll cnt=0;
fori(i,1,n){
cin>>v[i].ff;
v[i].ss=v[i].ff+1;
st.ins(v[i].ss-v[i].ff);
cnt+=v[i].ss-v[i].ff;
if(i>1){
st.ins(v[i].ff-v[i-1].ss);
cnt+=v[i].ff-v[i-1].ss;
}
}
auto it=st.end();
it--;
k--;
while(k--){
cnt-=*it;
it--;
}
cout<<cnt<<endl;
}
int main(){
Study;
ll t=1;
//cin>>t;
while(t--){
work();
}
}
/*
62->legendary grandmaster 0.01%
313->International grandmaster 0.05%
737->Grandmaster 0.12%
1021->International master 0.17%
2859->Master 0.47%
5374->Candidate Master 0.89%
14429->Expert 2.40% ~~ !Goal till summer!! ~~
26668->Specialist 4.44% //skip here >:D
46695->Pupil 7.78% ~~ you are here !! ~~
600,000 user var cfde
*/
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |