問題一覧 > 通常問題

No.937 Ultra Sword

レベル : / 実行時間制限 : 1ケース 3.000秒 / メモリ制限 : 256 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 32
作問者 : leafirby / テスター : otamay6
2 ProblemId : 3585 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2020-05-05 12:48:05

11/30 17:55追記)テストケースに、after_contestを追加しました。

問題文

勇者nullくんは、ウルトラソードを手に入れました。
ダンジョンにはN匹のモンスターがいて、i体目のモンスターのHPAiです。
nullくんはウルトラソードを振ることで,i番目のモンスター1体を生贄にして,そのモンスターのHPの正整数倍のHPを持つ、
すべてのモンスターのHPAiで割った値まで削ることができます。
このとき,生贄にされたモンスターのHP1になり、ウルトラソードは壊れてしまうのでウルトラソードを2回以上振ることはできません。
また、nullくんは優れた魔術師でもあり、何度でも以下の3種類の魔法を使うことができます。

  • HPが異なる2匹のモンスター(i,j)を選び,Ai xor AjHPを持つモンスターを作る。
  • 1匹のモンスター(i)を選び,Ai2倍のHPを持つモンスターを作る。
  • 自分で作った全てのモンスターのHP0にする。
  • ウルトラソードと魔法を使う順番は自由です。
    このとき,nullくんは全てのモンスターのHPの総和をできるだけ小さくしたいです。適切に行動したときの全てのモンスターのHPの総和の最小値を求めてください。
    ただし、xorbitごとの排他的論理和を表します。

    入力

    N
    A1,A2,....AN

    2N105
    1Ai105
    入力は全て整数である。

    出力

    最後に改行してください。

    サンプル

    サンプル1
    入力
    3
    10 20 30
    出力
    6

    1体目のモンスターを生贄としてウルトラソードを振ると、2体目のモンスターのHP2になり、
    3体目のモンスターのHP3になるので、全てのモンスターのHPの総和は6になり、これが最小です。

    サンプル2
    入力
    4
    28 24 32 20
    出力
    26

    1体目のモンスターと2体目のモンスターのHPxorをとったHPを持つモンスターを作ります。(これを5体目のモンスターと呼びます。)
    5体目のモンスターのHP4で、5体目のモンスターを生贄としてウルトラソードを振ると、全てのモンスターのHPの総和は27になります。
    このとき、3つ目の魔法を使うと、5体目のモンスターのHP0となり、全てのモンスターのHPの総和は26となり、これが最小です。

    サンプル3
    入力
    5
    232 232 232 232 232
    出力
    5

    提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。