#include <bits/stdc++.h>
using namespace std;
const int N = 1e7 + 2;
long long v[N], m[N];
int main() {
  long long n, k, t;
  cin >> n >> k;
  for (int i = 1; i <= n; ++i) {
    cin >> t;
    ++v[t];
  }
  long long cnt = 0;
  for (int i = N - 2; i; --i) {
    cnt += v[i];
    cnt -= m[i];
    if (!v[i]) continue;
    if (i & 1) {
      m[(i >> 1) + 1] += v[i];
      v[i >> 1] += v[i];
      v[(i >> 1) + 1] += v[i];
    } else {
      m[i >> 1] += v[i];
      v[i >> 1] += 2 * v[i];
    }
    if (cnt >= k) {
      cout << i;
      return 0;
    }
  }
  cout << -1;
  return 0;
}
