問題一覧 > 通常問題

No.2656 XOR Slimes

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 89
作問者 : hamamuhamamu / テスター : 👑 p-adicp-adic てんぷらてんぷら
2 ProblemId : 10627 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-02-28 09:03:06

問題文

左右に伸びる数直線上に $N$ 匹のスライムがいます。
左から $i$ 番目 $(i=1,2, \cdots ,N)$ のスライムは整数 $A_i$ を持っていて、位置は $X_i$ です。

スライムは以下の合体行動を、$0$ 回以上任意の回数行うことができます。

  1. まず、合体するスライムを $2$ 匹決める
  2. それぞれの位置を $X_P,X_Q$、それぞれの持つ整数を $A_P,A_Q$ とする
  3. 次に、実数 $x$ を好きに選ぶ
  4. $2$ 匹のスライムは位置 $x$ へ移動し、合体して $1$ 匹のスライムとなる
  5. 移動には $|X_P-x|+|X_Q-x|$ の移動コストがかかる
  6. 合体後のスライムが持つ整数は、$A_P$ と $A_Q$ のXORである

全ての合体行動にかかった移動コストの総和を $C$ とします。
最後に残ったスライムの持つ整数の総和を $S$ とします。
スライムは $C+S$ が最小になるよう行動しました。
$C+S$ の値を求めてください。

制約

  • 入力は全て整数
  • $2 \le N \le 5000$
  • $1 \le X_1 \lt X_2 \lt \cdots \lt X_N \le 10^9$
  • $1 \le A_i \lt 2^{30}$

入力

以下の形式で標準入力から与えられます。
$N$
$X_1$ $X_2$ $\cdots$ $X_N$
$A_1$ $A_2$ $\cdots$ $A_N$

出力

$C+S$ の値を整数で出力してください。最後に改行してください。
本問題の制約では $C+S$ の値が整数となることが証明できます。

サンプル

サンプル1
入力
3
2 4 5
2 1 6
出力
8

左から $1$ 番目と $3$ 番目のスライムが $x=3.5$ で合体すると、合体後のスライムが持つ整数は $2$ XOR $6 = 4$ になります。
このときの移動コストは $|2-3.5|+|5-3.5|=3$ です。
ここで合体行動を終了すると、移動コストの総和 $C=3$、整数の総和 $S=5$ であり、$C+S=8$ です。
$C+S$ が $8$ 未満となる合体行動は存在しないため、答は $8$ です。

サンプル2
入力
4
1 4 5 7
1 1 1 1
出力
3
サンプル3
入力
4
10 20 30 40
1 1 1 1
出力
4
サンプル4
入力
3
3 7 15
5 3 6
出力
12

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