#include <bits/stdc++.h>
using namespace std;
void QSort(int X[], int l, int r) {
  int y = X[l + (r - l) / 2];
  int i = l;
  int j = r;
  while (i <= j) {
    while (X[i] > y) i++;
    while (X[j] < y) j--;
    if (i <= j) {
      swap(X[i], X[j]);
      i++;
      j--;
    }
  }
  if (i < r) QSort(X, i, r);
  if (l < j) QSort(X, l, j);
}
int main() {
  int N, count = 0;
  scanf("%d", &N);
  int A[102];
  scanf("%d", &A[0]);
  for (int i = 1; i < N; i++) {
    scanf("%d", &A[i]);
  }
  QSort(A, 1, N - 1);
  bool f = false;
  while (f == false) {
    if (A[0] > A[1])
      f = true;
    else {
      A[0]++;
      A[1]--;
      count++;
      QSort(A, 1, N - 1);
    }
  }
  printf("%d", count);
  return 0;
}
