AT_arc194_b [ARC194B] Minimum Cost Sort
Description
$ (1,2,\ldots,N) $ の順列 $ P=(P_1,P_2,\ldots,P_N) $ が与えられます。 高橋君は $ P $ に対して次の操作を繰り返し( $ 0 $ 回でも良い)行う事ができます。
- $ 1\leq i\leq N-1 $ をみたす整数を $ 1 $ つ選ぶ。コスト $ i $ を支払い、 $ P_i $ と $ P_{i+1} $ を交換する。
$ P $ を昇順にソートするために必要なコストの総和の最小値を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ P_1 $ $ P_2 $ $ \ldots $ $ P_N $
Output Format
$ P $ を昇順にソートするために必要なコストの総和の最小値を出力せよ。
Explanation/Hint
### Sample Explanation 1
高橋君のは次のようにして $ P $ を昇順にソートすることができます。
- コストを $ 1 $ 支払い、 $ P_1=3 $ と $ P_2=2 $ を交換する。 $ P=(2,3,1) $ となる。
- コストを $ 2 $ 支払い、 $ P_2=3 $ と $ P_3=1 $ を交換する。 $ P=(2,1,3) $ となる。
- コストを $ 1 $ 支払い、 $ P_1=2 $ と $ P_2=1 $ を交換する。 $ P=(1,2,3) $ となる。
このように操作を行ったときコストの総和は $ 4 $ であり、このときが最小となります。
### Constraints
- $ 2 \leq N \leq 2\times 10^5 $
- $ (P_1,P_2,\ldots,P_N) $ は $ (1,2,\ldots,N) $ の順列
- 入力はすべて整数