#include <cstdlib> #include <iostream> #include <vector> using namespace std; int main() { int n=5, a; vector<int> x(202000); cin >> n; for (int i = 0; i < n; i++) { cin >> a; x[a]++; } int highest = 0; for (int i = 0; i < 201999; i++) { if (x[i] > 0) highest = i; x[i + 1] += x[i] / 2; x[i] = x[i] % 2; } cout << highest; 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 | #include <cstdlib> #include <iostream> #include <vector> using namespace std; int main() { int n=5, a; vector<int> x(202000); cin >> n; for (int i = 0; i < n; i++) { cin >> a; x[a]++; } int highest = 0; for (int i = 0; i < 201999; i++) { if (x[i] > 0) highest = i; x[i + 1] += x[i] / 2; x[i] = x[i] % 2; } cout << highest; return 0; } |