#include #include #include #include #include #include #include long int longestSequence(int a_size, long int* a) { // Return the length of the longest possible sequence of moves. long int tot_move = 0; for(int i = 0 ; i < a_size; i++){ if(a[i] == 1) tot_move += 1; else if(a[i] % 2 != 0) tot_move += a[i]+1; else{ while(a[i]%2 == 0){ tot_move += a[i]; a[i] /= 2; } tot_move += a[i]+1; } } return tot_move; } int main() { int n; scanf("%i", &n); long int *a = malloc(sizeof(long int) * n); for (int a_i = 0; a_i < n; a_i++) { scanf("%li",&a[a_i]); } long int result = longestSequence(n, a); printf("%ld\n", result); return 0; }