007 - 賢者の円卓

時間制限 2 秒 / メモリ制限 256 MB / 得点 8 / x 16 /


TLE
2sec
MLE
256MB
得点
8

$N$ 個の席が円状に並んでいる円卓に、$N$ 人の賢者が座ろうとしている。それぞれの賢者は、利き手で箸を持ち食事をとる。このとき、以下のようなことが起こる。

  • 賢者$i$が右利きの場合、その右隣に左利きの賢者が座ると不満度 $w_i$が発生し、右利きの賢者が座ると不満度は発生しない。
  • 賢者$i$が左利きの場合、その左隣に右利きの賢者が座ると不満度 $w_i$が発生し、左利きの賢者が座ると不満度は発生しない。

あなたは席順をうまく調整して、発生する不満度の総和を最小化したいと考えている。

賢者の人数、それぞれの利き手と不満度を入力し、不満度の総和の最小値を出力するプログラムを作成せよ。

入力

入力は以下の形式で与えられる。

$N$
$a_1$ $a_2$ $...$ $a_N$
$w_1$ $w_2$ $...$ $w_N$ 

1行目に賢者の人数 $N$ ($3 \leq N \leq 10$)が与えられる。2行目に各賢者の利き手を表す整数 $a_i$ (0 または 1)が与えられる。$a_i$が 0 のとき賢者 $i$ は右利き、1 のとき左利きであることを表す。3行目に各賢者の不満度を表す整数 $w_i$ ($1 \leq w_i \leq 1000$)が与えられる。

出力

不満度の総和の最小値を1行に出力する。

入出力例

入力例1

5
1 0 0 1 0
2 3 5 1 2

出力例1

3

入力例2

3
0 0 0
1 2 3

出力例2

0