#AGC061E. [AGC061E] Increment or XOR

[AGC061E] Increment or XOR

题目描述

非負整数 X X があり、はじめその値は S S です。以下の操作を任意の順に何度でも行うことができます。

  • X X 1 1 を足す。この操作のコストは A A である。
  • 1 1 以上 N N 以下の i i を選び、X X X  Yi X\ \oplus\ Y_i に置き換える。この操作のコストは Ci C_i である。ここで、 \oplus はビット単位 XOR \mathrm{XOR} 演算を表す。

与えられた非負整数 T T X X を等しくするのに必要な最小の合計コストを求めるか、それが不可能であることを報告してください。

ビット単位 XOR \mathrm{XOR} 演算とは 非負整数 A, B A,\ B のビット単位 XOR \mathrm{XOR} A  B A\ \oplus\ B は、以下のように定義されます。

  • A  B A\ \oplus\ B を二進表記した際の 2k 2^k (k  0 k\ \geq\ 0 ) の位の数は、A, B A,\ B を二進表記した際の 2k 2^k の位の数のうち一方のみが 1 1 であれば 1 1 、そうでなければ 0 0 である。

例えば、3  5 = 6 3\ \oplus\ 5\ =\ 6 となります(二進表記すると: 011  101 = 110 011\ \oplus\ 101\ =\ 110 )。
一般に、k k 個の非負整数 p1, p2, p3, , pk p_1,\ p_2,\ p_3,\ \dots,\ p_k のビット単位 XOR \mathrm{XOR} は $ (\dots\ ((p_1\ \oplus\ p_2)\ \oplus\ p_3)\ \oplus\ \dots\ \oplus\ p_k) $ と定義され、これは p1, p2, p3, , pk p_1,\ p_2,\ p_3,\ \dots,\ p_k の順番によらないことが証明できます。

输入格式

入力は、標準入力から以下の形式で与えられる。

N N S S T T A A Y1 Y_1 C1 C_1 \vdots YN Y_N CN C_N

输出格式

課題が達成不可能なら、-1 を出力せよ。 そうでないなら、必要な最小の合計コストを出力せよ。

题目大意

你有一个非负整数 XX 初始为 SS。给定 NN 和数列 Y1,Y2,YNY_1,Y_2,\dots Y_N 以及 C1,C2,,CNC_1,C_2,\dots,C_N。你可以进行下列操作任意多次:

  • XX+1X\gets X+1,花费 AA 的代价;
  • XXxorYiX\gets X\operatorname{xor} Y_i,花费 CiC_i 的代价。

你想要把 SS 变成 TT,求最小代价。

$1\le N\le 8,0\le S,T,Y_i<2^{40},0\le A\le 10^5,0\le C_i\le 10^{16}.$

1 15 0 1
8 2
5
3 21 10 100
30 1
12 1
13 1
3
1 2 0 1
1 1
-1
8 352217 670575 84912
239445 2866
537211 16
21812 6904
50574 8842
380870 5047
475646 8924
188204 2273
429397 4854
563645

提示

制約

  • 1  N  8 1\ \leq\ N\ \leq\ 8
  • 0  S, T < 240 0\ \leq\ S,\ T\ <\ 2^{40}
  • 0  A  105 0\ \leq\ A\ \leq\ 10^5
  • 0  Yi < 240 0\ \leq\ Y_i\ <\ 2^{40} (1  i  N 1\ \leq\ i\ \leq\ N )
  • 0  Ci  1016 0\ \leq\ C_i\ \leq\ 10^{16} (1  i  N 1\ \leq\ i\ \leq\ N )
  • 入力中の値は全て整数である。

Sample Explanation 1

以下の方法で X X T T と等しくすることができます。 - i=1 i=1 を選んで X X X  8 X\ \oplus\ 8 に置き換え、X=7 X=7 とする。この操作のコストは 2 2 である。 - X X 1 1 を足し、X=8 X=8 とする。この操作のコストは 1 1 である。 - i=1 i=1 を選んで X X X  8 X\ \oplus\ 8 に置き換え、X=0 X=0 とする。この操作のコストは 2 2 である。