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
28
#include <iostream>
#include <array>


int main()
{
	std::ios::sync_with_stdio(false);

	std::array<int, 230000> money;
	money.fill(0);

	int m = 0;
	int n; std::cin >> n;
	for (int i = 0; i < n; ++i) {
		int a; std::cin >> a;
		++money[a];
		if (m < a) m = a;
	}

	for (int i = 0; i < m + 1; ++i) {
		money[i + 1] += money[i] / 2;
		if (i + 1 > m && money[i + 1] != 0) m = i + 1;
	}

	std::cout << m << std::endl;

	return 0;
}