100 atcoder#ABC100C. [ABC100C] *3 or /2

[ABC100C] *3 or /2

题目描述

AtCoder Beginner Contest 100 の開催にともなって, AtCoder 社では長さ N N の数列 a = a\ = {a1, a2, a3, ..., aN a_1,\ a_2,\ a_3,\ ...,\ a_N } が飾られることになった.
社員のすぬけ君は, この数列で遊んでみようと思った.

具体的には, 以下の操作をできるだけ多くの回数繰り返そうと思った.

1  i  N 1\ \leq\ i\ \leq\ N を満たす全ての i i に対して, それぞれ「ai a_i の値を 2 2 で割る」「ai a_i の値を 3 3 倍する」のどちらかを行う. ただし, 全ての i i に対して 3 3 倍することはできず, 操作後の ai a_i の値は整数でなければならない.

最大で何回の操作が可能か, 求めなさい.

输入格式

入力は以下の形式で標準入力から与えられる.

N N a1 a_1 a2 a_2 a3 a_3 ... ... aN a_N

输出格式

すぬけ君が行える最大の操作回数を出力しなさい.

题目大意

给定一个长度为 nn 的数列 aa,你可以对它进行以下操作:

对于所有使得 1in1\le i\le nii,将 aia_i 乘以 33,或者除以 22

注意:

  • 如果 aia_i 是奇数,那么 aia_i 就不能除以 22

  • 两种操作都必须使用。

最后输出能操作的次数的最大值。

3
5 2 4
3
4
631 577 243 199
0
10
2184 2126 1721 1800 1024 2528 3360 1945 1280 1776
39

提示

制約

  • N N 1 1 以上 10 000 10\ 000 以下の整数
  • ai a_i 1 1 以上 1 000 000 000 1\ 000\ 000\ 000 以下の整数

Sample Explanation 1

最初, 数列は 5, 2, 4 {5,\ 2,\ 4} であるが, 以下のように操作すれば 3 3 回の操作を行うことができる. - 最初に, a1 a_1 3 3 倍し, a2 a_2 3 3 倍し, a3 a_3 2 2 で割る. すると数列は 15, 6, 2 {15,\ 6,\ 2} となる. - 次に, a1 a_1 3 3 倍し, a2 a_2 2 2 で割り, a3 a_3 3 3 倍する. すると数列は 45, 3, 6 {45,\ 3,\ 6} となる. - 最後に, a1 a_1 3 3 倍し, a2 a_2 3 3 倍し, a3 a_3 2 2 で割る. すると数列は 135, 9, 3 {135,\ 9,\ 3} となる.

Sample Explanation 2

全ての要素が奇数なので, 操作はできない. よって答えは 0 0 である.