#include <algorithm>
#include <cstring>
#include <deque>
#include <functional>
#include <iostream>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <vector>
using namespace std;
using ll = long long;

int main() {
  int N, K;
  while (cin >> N >> K) {
    vector<ll> a(N);
    for (int i = 0; i < N; i++) cin >> a[i];
    ll ans = 1ll << 62;
    for (int m = 0; m < (1 << N); m++) {
      if (__builtin_popcount(m) != K) continue;
      ll mx = 0;
      ll cost = 0;
      for (int i = 0; i < N; i++) {
        if ((m >> i) & 1) {
          ll t = max(mx + 1, a[i]);
          cost += t - a[i];
          mx = t;
        } else {
          mx = max(mx, a[i]);
        }
      }
      ans = min(ans, cost);
    }
    cout << ans << endl;
  }
  return 0;
}
