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
29
30
//Skarbonka B
#include <iostream>
#define MAX2 201802

using namespace std;

int n;
int coins[MAX2] = {0};
int maxC = 0;

int main() {
    ios_base::sync_with_stdio(0);
    cin >> n;
    for(int i = 0; i < n; i++){
        int num;
        cin >> num;
        coins[num]++;
    }
    for(int i = 0; i < MAX2 - 1; i++){
        int passFor = coins[i] / 2;
        coins[i + 1] += passFor;
        coins[i] -= passFor;
        
        if(coins[i] > 0)
            maxC = i;
    }
    cout << maxC << endl;
    
    return 0;
}