No.2656 XOR Slimes
タグ : / 解いたユーザー数 89
作問者 : hamamu / テスター : 👑 p-adic てんぷら
問題文
左右に伸びる数直線上に $N$ 匹のスライムがいます。
左から $i$ 番目 $(i=1,2, \cdots ,N)$
のスライムは整数 $A_i$ を持っていて、位置は $X_i$ です。
スライムは以下の合体行動を、$0$ 回以上任意の回数行うことができます。
- まず、合体するスライムを $2$ 匹決める
- それぞれの位置を $X_P,X_Q$、それぞれの持つ整数を $A_P,A_Q$ とする
- 次に、実数 $x$ を好きに選ぶ
- $2$ 匹のスライムは位置 $x$ へ移動し、合体して $1$ 匹のスライムとなる
- 移動には $|X_P-x|+|X_Q-x|$ の移動コストがかかる
- 合体後のスライムが持つ整数は、$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もしくは右上の雲マークをクリックしてアカウントを作成してください。