#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int n = 0, i = 0; int pow = 0; int pow_tab[201750] = {0}; int max = 0; scanf("%d",&n); for(i = 0; i < n; i++){ scanf("%d",&pow); pow_tab[pow]++; } for(i = 0; i <= 201749; i++){ if(pow_tab[i] >= 1) max = i; if(pow_tab[i] >= 2) pow_tab[i+1] += pow_tab[i] / 2; } printf("%d", 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 | #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int n = 0, i = 0; int pow = 0; int pow_tab[201750] = {0}; int max = 0; scanf("%d",&n); for(i = 0; i < n; i++){ scanf("%d",&pow); pow_tab[pow]++; } for(i = 0; i <= 201749; i++){ if(pow_tab[i] >= 1) max = i; if(pow_tab[i] >= 2) pow_tab[i+1] += pow_tab[i] / 2; } printf("%d", max); return 0; } |