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 <stdio.h>



int sum[300000]; // zapis binarny sumy monet

int main() {
    int n; // ilosc monet
    int m; // nominal monety
    int i;
    int max = 0;
    scanf("%d\n", &n);
    for(i=0;i<300000;i++) sum[i]=0;
    for(i=0;i<n;i++) {
        scanf("%d\n", &m);
        while (sum[m]) { 
            sum[m]=0; 
            m++; 
        };
        sum[m] = 1;
        if (m>max)max=m;
    }
    printf("%d\n", max);
    return 0;
}