#include<bits/stdc++.h>
using namespace std;
long long N;
long long MIN_TIME = 1e9;
vector<long long> guest_times;
void recurse(int i, long long total_time, long long match_count) {
if (i == N - 1) {
MIN_TIME = min(MIN_TIME, total_time);
} else {
long long gap = guest_times[i + 1] - guest_times[i] - 1;
recurse(i + 1, total_time + gap + 1, match_count);
if (match_count > 0) {
recurse(i + 1, total_time + 1, match_count - 1);
}
}
}
int main() {
std::ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
long long m; cin >> N >> m;
guest_times.resize(N);
for (int i = 0; i < N; i++) cin >> guest_times[i];
recurse(0, 1, m - 1);
cout << MIN_TIME;
return 0;
}