1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include<bits/stdc++.h>
using namespace std;
int t[300000];
int n,a,mx;
int main()
{
    scanf("%i",&n);
    for(int i=0;i<n;i++)
    {
        scanf("%i",&a);
        t[a]++;
        mx=max(mx,a);
    }
    for(int i=0;i<=mx;i++)
    {
        t[i+1]+=t[i]/2;
    }
    while(t[mx+1]>1)
    {
        mx+=1;
        t[mx+1]+=t[mx]/2;
    }
    printf("%i",mx+1);
}