#include <bits/stdc++.h>
using namespace std;
int n, k, x, a[200005];
priority_queue<int> dp[200005];
int main() {
  scanf("%d", &n);
  scanf("%d", &k);
  for (int i = 0; i < n; i++) {
    scanf("%d", &x);
    bool flag = false;
    for (int j = 0;; j++) {
      if (x == 0) flag = true;
      if (dp[x].size() < k) {
        dp[x].push(j);
      } else if (dp[x].top() > j) {
        dp[x].pop();
        dp[x].push(j);
      } else
        break;
      x >>= 1;
      if (flag) break;
    }
  }
  int ans = INT_MAX;
  for (int i = 0; i < 200005; i++) {
    if (dp[i].size() == k) {
      int ca = 0;
      while (!dp[i].empty()) ca += dp[i].top(), dp[i].pop();
      ans = min(ans, ca);
    }
  }
  cout << ans << endl;
  return 0;
}
