#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; } |
English