题目描述
给定一个正整数序列 A=(a1,a2,…,aN)。
你可以重复执行以下两种操作中的任意一种,次数不限(可以为 0 次):
- 选择一个满足 1≤i≤N 且 ai 是 2 的倍数的整数 i,将 ai 替换为 2ai。
- 选择一个满足 1≤i≤N 且 ai 是 3 的倍数的整数 i,将 ai 替换为 3ai。
你的目标是使 A 满足 a1=a2=…=aN。
请你求出实现目标所需操作次数的最小值。如果无论如何都无法实现目标,请输出 −1。
输入格式
输入按以下格式从标准输入读入。
N a1 a2 … aN
输出格式
请输出答案。
样例 1
输入
3
1 4 3
输出
3
样例 2
输入
3
2 7 6
输出
-1
样例 3
输入
6
1 1 1 1 1 1
输出
0
说明/提示
限制条件
- 2≤N≤1000
- 1≤ai≤109
- 输入均为整数
样例解释 1
可以按如下方式操作,最少 3 次即可达成目标:
- 选择 ai 是 2 的倍数的 i=2,将 a2 替换为 2a2,此时 A=(1,2,3)。
- 选择 ai 是 2 的倍数的 i=2,将 a2 替换为 2a2,此时 A=(1,1,3)。
- 选择 ai 是 3 的倍数的 i=3,将 a3 替换为 3a3,此时 A=(1,1,1)。
样例解释 2
无论如何操作都无法达成目标。
由 ChatGPT 4.1 翻译