#include <bits/stdc++.h>
using namespace std;
int n;
int dizi[2 * 100009];
int bit[2 * 100009];
int k = -1;
inline int getbit(int s, int y) {
  if (y < 0) return -1;
  if (s & (1 << y)) return 1;
  return 0;
}
int calc(int i, int j) {
  int s = dizi[i];
  int kac = k;
  int sonuc = abs(bit[i] + 1 - j);
  int l = 0;
  for (int t = bit[i] - k; kac < j; kac++, t--) {
    if (s & (1 << t)) {
      sonuc += (min(bit[i] + 1, j) - kac) * 2;
      break;
    }
  }
  return sonuc;
}
int main() {
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> dizi[i];
    for (int j = 21; j >= 0; j--) {
      if (dizi[i] & (1 << j)) {
        bit[i] = j;
        break;
      }
    }
  }
  int ans = 99999990;
  for (int j = 0; j < 20; j++) {
    if (k == -1) {
      for (int i = 0; i < n - 1; i++) {
        int bir = getbit(dizi[i], bit[i] - j);
        int iki = getbit(dizi[i + 1], bit[i + 1] - j);
        if (bir == -1) {
          k = j;
          break;
        } else if (iki == -1) {
          k = j;
          break;
        } else if (bir != iki) {
          k = j;
          break;
        }
      }
    }
    if (k != -1) {
      int c = 0;
      if (j == 9) {
        int asda = 1;
      }
      for (int i = 0; i < n; i++) {
        c += calc(i, j);
      }
      ans = min(ans, c);
    }
  }
  cout << (ans != 99999990 ? ans : 0) << endl;
  return 0;
}
