AT_arc225_d [ARC225D] Gap Swap (easy)

题目描述

**本题的设定与 Problem E 相似,但操作的代价不同。** 给定一个 $P$ 的排列,$P$ 是 $ (1,2,\ldots,N) $ 的一个全排列。你可以对 $P$ 执行以下操作: - 选择整数 $i$ 和 $j$,满足 $1 \le i < j \le N$。此时,要求对于所有满足 $i < k < j$ 的整数 $k$,都有 $P_k = k$。然后交换 $P_i$ 和 $P_j$。 该操作的**代价是 $\boldsymbol{j-i}$**。 注意,如果 $i+1 = j$,则不存在满足 $i < k < j$ 的整数 $k$,因此这种情况下操作总是可以执行。所以,总是存在一种操作序列能将 $P$ 排序为递增序列。 请你求出将 $P$ 排序为递增序列所需的最小总代价。

输入格式

输入通过标准输入给出,格式如下: > $N$ $P_1$ $P_2$ $\ldots$ $P_N$

输出格式

输出答案。

说明/提示

### 样例解释 1 例如,可以通过以下两个操作将 $P$ 排序为递增序列,总代价为 $6$。 - 第一次操作:选择 $i=4, j=5$,交换 $P_4$ 和 $P_5$。代价为 $1$。 - 第二次操作:选择 $i=1, j=6$,交换 $P_1$ 和 $P_6$。代价为 $5$。 无法用小于 $6$ 的代价将 $P$ 排序,因此答案为 $6$。 ### 样例解释 2 所需总代价可以为 $0$。 ### 约束条件 - $2 \le N \le 5\times 10^5$ - $1 \le P_i \le N$ - $P$ 是 $ (1,2,\ldots,N) $ 的一个全排列。 - 输入的所有数均为整数。 由 ChatGPT 5 翻译