#AT2579. G - Sort from 1 to 4
G - Sort from 1 to 4
当前没有测试数据。
G - 将序列排序为1到4
得分: $625$ 分
题目描述
给定一个长度为 $N$ 的序列 $A=(A_1,A_2,\ldots,A_N)$,其中的元素是介于 $1$ 到 $4$ 之间的整数。
高橋可以进行以下操作任意次数(包括零次):
- 选择一对整数$(i,j)$(满足 $1\leq i<j\leq N$),并交换 $A_i$ 和 $A_j$。
求使得 $A$ 非递减所需的最小操作次数。
序列被称为非递减序列,当且仅当对于所有 $1\leq i\leq N-1$,都有 $A_i\leq A_{i+1}$。
约束条件
- $2 \leq N \leq 2\times 10^5$
- $1\leq A_i \leq 4$
- 输入中的所有数都是整数。
输入
输入数据从标准输入读入,格式如下:
输出
在一行中输出使得 $A$ 非递减的最小操作次数。
6
3 4 1 1 2 4
3
通过以下三次操作,可以使得 $A$ 非递减:
- 选择 $(i,j)=(2,3)$ 交换 $A_2$ 和 $A_3$,得到 $A=(3,1,4,1,2,4)$。
- 选择 $(i,j)=(1,4)$ 交换 $A_1$ 和 $A_4$,得到 $A=(1,1,4,3,2,4)$。
- 选择 $(i,j)=(3,5)$ 交换 $A_3$ 和 $A_5$,得到 $A=(1,1,2,3,4,4)$。
这是最小的操作次数,因为不可能用不超过两次操作使得 $A$ 非递减。
因此,应该输出 $3$。
4
2 3 4 1
3