// 백준 1417 국회의원 선거
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
int n; // 후보 수 변수
int dasom; // 배열의 첫번째 변수
int count = 0; // 카운트 변수
vector<int> v; // 벡터 생성
cin >> n; // 후보 수 입력
for (int i = 0; i < n; i++) // n번 반복
{
// 투표수를 입력받고 벡터에 저장
int a;
cin >> a;
v.push_back(a);
}
// 입력값이 1이면 1을 출력하고 종료
if (n <= 1)
{
cout << 0;
return 0;
}
dasom = v[0]; // dasom을 벡터의 첫번째 요소로 설정
while (true) // 무한 루프
{
sort(v.begin() + 1, v.end()); // v[1] ~ v.end()까지 정렬
if (dasom > v.back()) // v[0]이 v.back()(투표수의 최대값)보다 크면 루프 탈출
break;
if (dasom <= v.back()) // v[0]이 v.back보다 작거나 같으면
{
dasom++; // dasom = dasom + 1
count++; // count = count + 1
v.back()--; // 벡터의 마지막 요소 -1
}
}
cout << count; // count 출력
return 0;
}