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