#include<cstdio> using namespace std; int cnt[2000000]; int main() { int T; int c,d; scanf("%d", &T); int m = 0; while(T-->0) { scanf("%d", &d); ++cnt[d]; if (d > m) m = d; } int i; for (i =0;i<=m || cnt[i] > 0;++i) { cnt[i+1] += cnt[i] / 2; } printf("%d\n", i-1); 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 30 | #include<cstdio> using namespace std; int cnt[2000000]; int main() { int T; int c,d; scanf("%d", &T); int m = 0; while(T-->0) { scanf("%d", &d); ++cnt[d]; if (d > m) m = d; } int i; for (i =0;i<=m || cnt[i] > 0;++i) { cnt[i+1] += cnt[i] / 2; } printf("%d\n", i-1); return 0; } |