atcoder#ARC082B. [ABC072D] Derangement
[ABC072D] Derangement
配点 : 点
問題文
からなる順列 が与えられます。 次の操作を何回か (回でもよい) 行うことが出来ます。
操作: 順列で隣り合う二つの数を選んでスワップする。
何回か操作を行って、任意の に対して となるようにしたいです。 必要な操作の最小回数を求めてください。
制約
- は の順列である。
入力
入力は以下の形式で標準入力から与えられる。
..
出力
必要な操作の最小回数を出力せよ。
5
1 4 3 5 2
2
と を入れ替え、その後 と を入れ替えることで は となり、これは条件を満たします。 これが最小回数なので、答えは となります。
2
1 2
1
と を入れ替えれば条件を満たします。
2
2 1
0
初めから条件を満たしています。
9
1 2 4 9 5 8 7 3 6
3