#include <iostream>
int main()
{
std::ios::sync_with_stdio(false);
const int arrSize = 201718 + 1;
int* powArr = new int[arrSize]();
int n, a_i;
std::cin>>n;
for(int i=0; i<n; ++i){
std::cin>>a_i;
++powArr[a_i];
}
int maxPow = 0;
for(int a_i=0; a_i<arrSize-1; ++a_i){
powArr[a_i+1] += powArr[a_i]/2;
if(powArr[a_i+1]) maxPow = a_i + 1;
}
std::cout << maxPow << std::endl;
delete[] powArr;
}
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 | #include <iostream> int main() { std::ios::sync_with_stdio(false); const int arrSize = 201718 + 1; int* powArr = new int[arrSize](); int n, a_i; std::cin>>n; for(int i=0; i<n; ++i){ std::cin>>a_i; ++powArr[a_i]; } int maxPow = 0; for(int a_i=0; a_i<arrSize-1; ++a_i){ powArr[a_i+1] += powArr[a_i]/2; if(powArr[a_i+1]) maxPow = a_i + 1; } std::cout << maxPow << std::endl; delete[] powArr; } |
English