编程题
### 问题描述 在一个虚拟的游戏世界中,玩家需要通过解决一系列谜题来探索迷失的神秘岛屿。每个谜题都与一个特殊的石碑相关,而这些石碑上刻着一个由整数组成的序列。$YJ$ 是一位勇敢的冒险者,他发现了最后一个石碑。据传说,只有通过对这个序列进行一些特定操作,他才能获得关键的线索,找到宝藏所在的位置。石碑上的序列 $A$ 是 $YJ$ 面临的最后一个谜题。他意识到,他可以通过交换序列中的元素来使其变得非递减,从而解开谜题并揭示宝藏的下一个目的地。现在, $YJ$ 需要你的帮助来确定他需要执行的最少操作次数,以使序列 $A$ 变得非递减。每一次操作,他可以选择两个位置上的元素进行交换。你的任务是计算出最小的操作次数,帮助 $YJ$ 成功解开这个谜题,找到宝藏的下一个线索。 ### 输入描述 第一行输入 $n$ ,表示序列的长度。 第二行输入 $n$ 个数字,第 $i$ 个数字表示序列 $A$ 的第 $i$ 个元素 $A[i]$ 。 输入保证 $1 \leq n \leq 10^6,1 \leq A[i] \leq 4$ 。 ### 输出描述 输出一个数字表示最小交换次数。 ### 样例输入 ``` 5 1 3 5 4 2 ``` ### 样例输出 ``` 2 ``` ### 说明 $2$ 和 $3$ 交换, $3$ 和 $5$ 交换,得到序列 $1,2,3,4,5$ 。
查看答案
赣ICP备20007335号-2