atcoder#ABC276D. [ABC276D] Divide by 2 or 3
[ABC276D] Divide by 2 or 3
题目描述
正整数列 が与えられます。
あなたは以下の操作のうち つを選んで行うことを 回以上何度でも繰り返せます。
- かつ が の倍数であるような整数 を選び、 を に置き換える
- かつ が の倍数であるような整数 を選び、 を に置き換える
あなたの目標は が を満たす状態にすることです。
目標を達成するために必要な操作の回数の最小値を求めてください。ただし、どのように操作を行っても目標を達成できない場合、代わりに -1
と出力してください。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
答えを出力せよ。
题目大意
每次选择一个能被 或 整除的数,并将他除以 或 。
问将所有数变成相等的最小方案数,无解输出 。
--mfeitveer
3
1 4 3
3
3
2 7 6
-1
6
1 1 1 1 1 1
0
提示
制約
- 入力はすべて整数
Sample Explanation 1
次のように操作をすると 回で目標を達成でき、これが最小の回数です。 - が の倍数であるような整数 として を選び、 を に置き換える。 は となる。 - が の倍数であるような整数 として を選び、 を に置き換える。 は となる。 - が の倍数であるような整数 として を選び、 を に置き換える。 は となる。
Sample Explanation 2
どのように操作を行っても目標を達成できません。