#pragma GCC optimize("O3,inline")
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define int ll
using ii = pair<int, int>;
using iii = pair<int, ii>;
using pvii = pair<vector<int>, ii>;
constexpr int MAXN = 20000 + 5;
constexpr int INF = 1e18 + 5;
constexpr int LOG = 20;
signed main() {
ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
int N, K; cin >> N >> K;
vector<int> A(N); for (int i = 0; i < N; ++i) cin >> A[i];
int ans = A[N-1] - A[0] + 1;
int segs = 1;
priority_queue<int> pq; for (int i = 1; i < N; ++i) pq.emplace(A[i] - A[i-1]);
while (!pq.empty() && segs < K) {
ans -= max(0ll, pq.top() - 1); pq.pop(); segs++;
}
cout << ans << '\n';
}