atcoder#AGC022C. [AGC022C] Remainder Game
[AGC022C] Remainder Game
配点 : 点
問題文
アオキは数列 で遊んでいます。 秒ごとに、アオキは次の操作を行います。
- 正の整数 を選ぶ。数列のそれぞれの要素 について、アオキは を「 を で割った余り」に置き換えるか、 をそのままにするかを選べる。この一連の操作のコストは(書き換えた要素の数によらず) である。
アオキは、数列を に変えたいです(要素の順番も考慮します)。この目的を達成することが可能か判定し、可能である場合は必要な最小のコストを求めてください。
制約
- 入力中の値はすべて整数である。
入力
入力は標準入力から以下の形式で与えられる。
出力
はじめの数列を に変えるのに必要な最小のコストを出力せよ。目的の達成が不可能である場合は、代わりに と出力せよ。
3
19 10 14
0 3 4
160
操作手順の例を挙げます。
- を選ぶ。 を に、 を に置き換えて はそのままにする。数列は となる。
- を選ぶ。 を に置き換え、 はそのままにして を に置き換える。数列は となる。
合計コストは です。
3
19 15 14
0 0 0
2
を選び、すべてを に変えるとよいです。コストは です。
2
8 13
5 13
-1
与えられた操作では を に変えることができないため、目的の達成は不可能です。
4
2 0 1 8
2 0 1 8
0
この場合は何もする必要がありません。コストは です。
1
50
13
137438953472
オーバーフローにご注意。