1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
int val[201760];
int main() 
	{
	int n,x,maxv=0;
	scanf("%d",&n);
	for(int i=0;i<n;i++)
		{
		scanf("%d",&x);
		val[x]++;
		maxv=max(x,maxv);
		}
	for(int i=1;i<=maxv;i++)
		val[i]=val[i]+val[i-1]/2;
	while(val[maxv]>1)
		{
		val[maxv+1]=val[maxv]/2;
		maxv++;
		}
	printf("%d",maxv);
	return 0;
	}