#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int i, j, n, a;
scanf("%d", &n);
vector<int> num(202000, 0);
for (i = 0; i < n; ++i) {
scanf("%d", &a);
num[a]++;
}
int ma = -1;
for (i = 0; i < 202000; ++i) {
if (num[i] > 0)
ma = i;
int new_num = i;
while(num[i] > 1) {
num[i] /= 2;
new_num++;
}
num[new_num]++;
}
printf("%d", ma);
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 | #include <cstdio> #include <vector> #include <algorithm> using namespace std; int main() { int i, j, n, a; scanf("%d", &n); vector<int> num(202000, 0); for (i = 0; i < n; ++i) { scanf("%d", &a); num[a]++; } int ma = -1; for (i = 0; i < 202000; ++i) { if (num[i] > 0) ma = i; int new_num = i; while(num[i] > 1) { num[i] /= 2; new_num++; } num[new_num]++; } printf("%d", ma); return 0; } |
English