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
26
27
#include <iostream>

using namespace std;

const int MAKS_NOMINAL = 500000;

int monety[MAKS_NOMINAL];

int main(){
	int n;
	cin >> n;
	for(int i = 0 ; i < n ; i++){
		int ai;
		cin >> ai;
		monety[ai]++;
	}
	for(int i = 0 ; i < MAKS_NOMINAL - 1 ; i++){
		monety[i + 1] += monety[i] / 2;
		monety[i] %= 2;
	}
	for(int i = MAKS_NOMINAL - 1 ; i >= 0 ; i--){
		if(monety[i] != 0){
			cout << i;
			return 0;
		}
	}
}