問題一覧 >
通常問題
No.937 Ultra Sword
レベル :
/ 実行時間制限 : 1ケース 3.000秒 / メモリ制限
: 256 MB / 標準ジャッジ問題
タグ :
/
解いたユーザー数 32
作問者 :
leafirby
/ テスター :
otamay6
問題文最終更新日: 2020-05-05 12:48:05
11/30 17:55追記)テストケースに、after_contestを追加しました。
問題文
勇者くんは、ウルトラソードを手に入れました。
ダンジョンには匹のモンスターがいて、体目のモンスターのはです。
くんはウルトラソードを振ることで,番目のモンスター体を生贄にして,そのモンスターのの正整数倍のを持つ、
すべてのモンスターのをで割った値まで削ることができます。
このとき,生贄にされたモンスターのはになり、ウルトラソードは壊れてしまうのでウルトラソードを回以上振ることはできません。
また、くんは優れた魔術師でもあり、何度でも以下の種類の魔法を使うことができます。
が異なる匹のモンスターを選び,のを持つモンスターを作る。
匹のモンスターを選び,の倍のを持つモンスターを作る。
自分で作った全てのモンスターのをにする。
ウルトラソードと魔法を使う順番は自由です。
このとき,くんは全てのモンスターのの総和をできるだけ小さくしたいです。適切に行動したときの全てのモンスターのの総和の最小値を求めてください。
ただし、はごとの排他的論理和を表します。
サンプル
サンプル1
入力
3
10 20 30
出力
6
体目のモンスターを生贄としてウルトラソードを振ると、体目のモンスターのはになり、
体目のモンスターのはになるので、全てのモンスターのの総和はになり、これが最小です。
サンプル2
入力
4
28 24 32 20
出力
26
体目のモンスターと体目のモンスターののをとったを持つモンスターを作ります。(これを体目のモンスターと呼びます。)
体目のモンスターのはで、体目のモンスターを生贄としてウルトラソードを振ると、全てのモンスターのの総和はになります。
このとき、つ目の魔法を使うと、体目のモンスターのはとなり、全てのモンスターのの総和はとなり、これが最小です。
サンプル3
入力
5
232 232 232 232 232
出力
5
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。