100 atcoder#ABC150C. [ABC150C] Count Order

[ABC150C] Count Order

配点 : 300300

問題文

大きさ NN の順列 ((1,2,...,N)(1, \sim 2, \sim ..., \sim N) を並び替えてできる数列) P,QP, \sim Q があります。

大きさ NN の順列は N!N! 通り考えられます。このうち、PP が辞書順で aa 番目に小さく、QQ が辞書順で bb 番目に小さいとして、ab|a - b| を求めてください。

注記

22 つの数列 X,YX, \sim Y について、ある整数 kk が存在して Xi=Yi(1i<k)X_i = Y_i \sim (1 \leq i < k) かつ Xk<YkX_k < Y_k が成り立つとき、XXYY より辞書順で小さいと定義されます。

制約

  • 2N82 \leq N \leq 8
  • P,QP, \sim Q は大きさ NN の順列である。
  • 入力は全て整数である。

入力

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

NN

P1P_1 P2P_2 ...... PNP_N

Q1Q_1 Q2Q_2 ...... QNQ_N

出力

ab|a - b| を出力せよ。

3
1 3 2
3 1 2
3

大きさ 33 の順列は、(1,2,3)(1, \sim 2, \sim 3)(1,3,2)(1, \sim 3, \sim 2)(2,1,3)(2, \sim 1, \sim 3)(2,3,1)(2, \sim 3, \sim 1)(3,1,2)(3, \sim 1, \sim 2)(3,2,1)(3, \sim 2, \sim 1)66 個あります。このうち (1,3,2)(1, \sim 3, \sim 2) は辞書順で 22 番目、(3,1,2)(3, \sim 1, \sim 2) は辞書順で 55 番目なので、答えは 25=3|2 - 5| = 3 です。

8
7 3 5 4 2 1 6 8
3 8 2 5 4 6 7 1
17517
3
1 2 3
1 2 3
0