#include <stdio.h>
unsigned long ska[202001];
int main () {
unsigned long n, i, a, max;
scanf ("%ld\n", &n);
i = 0;
max = 0;
while (i < n) {
scanf ("%ld", &a);
ska[a]++;
i++;
if (a > max)
max = a;
}
i = 1;
while (i <= max) {
if (ska[i] > 1) {
ska[i+1] += (ska[i]/2);
if (i == max)
max++;
}
i++;
}
printf ("%ld\n", max);
return 0;
}
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 | #include <stdio.h> unsigned long ska[202001]; int main () { unsigned long n, i, a, max; scanf ("%ld\n", &n); i = 0; max = 0; while (i < n) { scanf ("%ld", &a); ska[a]++; i++; if (a > max) max = a; } i = 1; while (i <= max) { if (ska[i] > 1) { ska[i+1] += (ska[i]/2); if (i == max) max++; } i++; } printf ("%ld\n", max); return 0; } |
English