编程题
### 问题描述 小蓝是一位来自神秘森林的小精灵,她有一本神奇的魔法书。魔法书上写着 $N$ 个不同的魔法咒语,每个咒语都有一个唯一的编号,从 $1$ 到 $N$ 。然而,这本魔法书有一种神奇的力量,只要首个咒语的编号为 $1$,最后一个咒语的编号为 $N$ ,它就会释放出强大的魔法力量。 现在,小蓝发现魔法咒语的顺序被混乱了,她必须将它们重新排列。小蓝可以选择一个咒语,并使用魔法将其与紧邻的咒语交换位置。她想知道,要使得魔法书重新恢复魔力,最少需要执行多少次这样的操作。 请你帮助小蓝计算出最少的操作次数。 ### 输入格式 输入的第一行包含一个整数 $N$,表示魔法咒语的数量。 接下来的一行包含 $N$ 个整数 $P_1, P_2, ..., P_N$,表示魔法咒语的当前顺序。每个咒语的编号都是独一无二的,并且每个编号都在 $1$ 到 $N$ 的范围内。 数据范围保证:$2 \leq N \leq 10^5$。 ### 输出格式 输出一个整数,表示小蓝最少需要执行的操作次数,才能使魔法书恢复魔力。 ### 样例输入 ```markdown 5 2 1 3 5 4 ``` ### 样例输出 ```markdown 2 ``` ### 样例解释 只要交换第 $1$ 个和第 $2$ 个咒语,再交换第 $4$ 个第 $5$ 个咒语即可满足条件。
查看答案
赣ICP备20007335号-2