AT_keyence2020_d Swap and Flip
Description
[problemUrl]: https://atcoder.jp/contests/keyence2020/tasks/keyence2020_d
$ N $ 枚のカードがあり、$ 1,\ 2,\ ...,\ N $ の番号がついています。 カード $ i $ ($ 1\ \leq\ i\ \leq\ N $) の片方の面には赤い文字で整数 $ A_i $ が、 もう片方の面には青い文字で整数 $ B_i $ が書かれています。 最初、これらのカードは赤い文字が書かれた面を表にして 左から右に番号順に一列に並んでいます。
以下の操作を繰り返すことで、カードの表側の面に書かれた整数の列が左から右に広義単調増加となる (すなわち、各 $ i $ ($ 1\ \leq\ i\ \leq\ N\ -\ 1 $) に対して、左から $ i\ +\ 1 $ 枚目のカードの表側の面に書かれた整数が $ i $ 枚目のカードの表側の面に書かれた整数以上である) ようにすることが可能かどうか判定してください。 さらに、可能である場合、必要な操作の回数の最小値を求めてください。
- 整数 $ i $ ($ 1\ \leq\ i\ \leq\ N\ -\ 1 $) を一つ選ぶ。 左から $ i $ 番目のカードと $ i\ +\ 1 $ 番目のカードの位置を入れ替え、さらにこれら $ 2 $ 枚のカードを裏返す。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ A_1 $ $ A_2 $ $ ... $ $ A_N $ $ B_1 $ $ B_2 $ $ ... $ $ B_N $
Output Format
単調増加となるようにすることが不可能である場合、`-1` と出力せよ。 可能である場合、必要な操作の回数の最小値を出力せよ。
Explanation/Hint
### 制約
- $ 1\ \leq\ N\ \leq\ 18 $
- $ 1\ \leq\ A_i,\ B_i\ \leq\ 50 $ ($ 1\ \leq\ i\ \leq\ N $)
- 入力値はすべて整数である。
### Sample Explanation 1
$ i\ =\ 1 $ として操作を $ 1 $ 回行うと、 カードの表側の面に書かれた整数の列は $ [2,\ 3,\ 3] $ となり、単調増加となります。
### Sample Explanation 2
何回操作を行っても、 カードの表側の面に書かれた整数の列は $ [2,\ 1] $ のままであり、これは単調増加ではありません。
### Sample Explanation 3
操作を行う必要がない場合もあります。