J - Stamp
解説
/
/
実行時間制限: 2 sec / メモリ制限: 1024 MiB
配点 : 500 点
問題文
長さ N の非負整数列 A,B が与えられます。あなたは以下の操作を 0 回以上任意の回数行うことができます。
- 1\le l\le r\le N を満たす整数対 (l,r) を選ぶ。コスト x を払い、 l\le i\le r を満たすすべての i に対して、 A_i を A_i \lor x に置き換える。
操作後に A=B とすることが可能か判定し、可能ならば払うコストの総和の最小値を求めてください。
ただし、 a \lor b で a と b の bitwise or を表すものとします。
制約
- 1 \leq N \leq 2\times 10^5
- 0 \leq A_i < 2^{30} (1 \leq i \leq N)
- 0 \leq B_i < 2^{30} (1 \leq i \leq N)
- 入力は全て整数
入力
入力は以下の形式で標準入力から与えられる。
N A_1 A_2 \ldots A_N B_1 B_2 \ldots B_N
出力
不可能ならば、 -1 を出力せよ。可能ならば、答えを出力せよ。(2:33 追記)
入力例 1
3 4 4 2 5 6 7
出力例 1
8
最初に (l,r)=(2,2),x=2 として A_2=6 とし、次に (l,r)=(1,1), x=1 として A_1=5 とし、最後に (l,r)=(3,3),x=5 として A_3=7 とすると A=B となり、コストの総和 8 で達成することができます。コストの総和 7 以下で A=B とすることは不可能なので、 8 を出力します。
入力例 2
3 2 2 2 1 1 1
出力例 2
-1
入力例 3
5 339062933 763623855 531094908 999489902 213141341 884846815 1068498863 1072160639 1000064367 519438175
出力例 3
859176523
入力例 4
6 0 0 0 0 0 0 1073741823 0 1073741823 0 1073741823 0
出力例 4
3221225469