1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
#include<iostream>
using namespace std;

int n, maxi, a;
int ile[1000009];

int main()
{
	cin>>n;
	for(int i=0;i<n;i++) { cin>>a; ile[a]++; maxi=max(maxi,a); }
	for(int i=1;i<=maxi;i++)
	{
		if(i==maxi && ile[i]>1) maxi++;
		ile[i+1]+=ile[i]/2;
		ile[i]=ile[i]&1;
	}
	cout<<maxi<<endl;
}