1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <bits/stdc++.h>
using namespace std;
int main(){
	int n; cin>>n;
	vector<int> v;
	v.resize(201719, 0);
	for(int i = 0; i < n; i++){
		int x; cin>>x;
		v[x]++;
	}
	int last = -1;
	int i = 0;
	while(1){
		if(v[i] != 0){
			last = i;
			if(i == v.size() - 1) v.push_back(0);
			v[i+1] += v[i]/2;
		}
		else{
			if(i == v.size() - 1) break;
		}
		i++;
	}
	cout<<last<<endl;
}