1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
const int DANE=300000;
using namespace std;
int tab[DANE];
int main(){
    int n,a,maxnom=0;
    cin >> n;
    for(int i=0;i<n;i++){
        cin >> a;
        tab[a]++;
        maxnom=max(maxnom,a);
    }
    n=maxnom+100;
    for(int i=0;i<n;i++){
        tab[i+1]+=tab[i]/2;
        if(tab[i]>0 && maxnom <i)
            maxnom=i;
    }
    cout << maxnom;
    return 0;
}