#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$
- 输入中的所有值都是整数。
输入
从标准输入读入数据,格式如下:
输出
输出答案。
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
不需要执行任何操作。