#AT2368. D - Divide by 2 or 3

D - Divide by 2 or 3

当前没有测试数据。

D - 除以2或3

得分:400分

问题描述

给定一系列正整数:$A=(a_1,a_2,\ldots,a_N)$。
你可以选择并执行以下操作任意次数,可能为零。

  • 选择一个整数$i$,满足 $1 \leq i \leq N$ 且 $a_i$ 是2的倍数,将 $a_i$ 替换为 $\frac{a_i}{2}$。
  • 选择一个整数$i$,满足 $1 \leq i \leq N$ 且 $a_i$ 是3的倍数,将 $a_i$ 替换为 $\frac{a_i}{3}$。

你的目标是使得 $A$ 满足 $a_1=a_2=\ldots=a_N$。
找出实现目标所需的最小操作次数。如果无法实现目标,则输出 -1

约束

  • $2 \leq N \leq 1000$
  • $1 \leq a_i \leq 10^9$
  • 输入中的所有值都是整数。

输入

从标准输入读入数据,格式如下:

NN

a1a_1 a2a_2 \ldots aNa_N

输出

输出答案。


3
1 4 3
3

以下是实现目标所需的三次操作,也是最小次数。

  • 选择 $i=2$,因为 $a_2$ 是2的倍数,将 $a_2$ 替换为 $\frac{a_2}{2}$。 $A$ 变为 $(1,2,3)$。
  • 选择 $i=2$,因为 $a_2$ 是2的倍数,将 $a_2$ 替换为 $\frac{a_2}{2}$。 $A$ 变为 $(1,1,3)$。
  • 选择 $i=3$,因为 $a_3$ 是3的倍数,将 $a_3$ 替换为 $\frac{a_3}{3}$。 $A$ 变为 $(1,1,1)$。

3
2 7 6
-1

无法实现目标。


6
1 1 1 1 1 1
0

不需要执行任何操作。