#include <bits/stdc++.h>
using namespace std;
int n, v;
int main() {
  priority_queue<int> pq;
  cin >> n >> v;
  int t;
  for (int i = 1; i < n; i++) {
    cin >> t;
    if (t >= v) pq.push(t);
  }
  int b = v;
  while (!pq.empty() && pq.top() >= v) {
    t = pq.top();
    pq.pop();
    v++;
    if (t > 1) pq.push(t - 1);
  }
  cout << (v - b);
  return 0;
}
