#include <bits/stdc++.h> using namespace std; #define int long long int T[201800]; main (){ ios_base::sync_with_stdio(0); int n; cin >> n; int maxa = 0; for (int i = 0; i < n; ++i){ int a; cin >> a; maxa = max(maxa, a); T[a]++; } int j = 0; for (;j < maxa; ++j){ T[j + 1] += T[j]/2; } int b = T[j]; while (b){ b /= 2; ++j; } cout << j - 1 << endl; }
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 | #include <bits/stdc++.h> using namespace std; #define int long long int T[201800]; main (){ ios_base::sync_with_stdio(0); int n; cin >> n; int maxa = 0; for (int i = 0; i < n; ++i){ int a; cin >> a; maxa = max(maxa, a); T[a]++; } int j = 0; for (;j < maxa; ++j){ T[j + 1] += T[j]/2; } int b = T[j]; while (b){ b /= 2; ++j; } cout << j - 1 << endl; } |