题目描述
给定一个长度为 N 的序列 A=(A1,A2,ldots,AN),其中的元素取值范围是 1 到 4。
高桥可以任意多次(可能为零次)执行以下操作:
- 选择一对整数 (i,j),满足 1leqi<jleqN,交换 Ai 和 Aj。
计算使得 A 变为非递减序列所需的最小操作数。
一个序列被称为非递减序列,当且仅当对于所有的 1leqileqN−1,有 AileqAi+1。
约束条件
- 2leqNleq2times105
- 1leqAileq4
- 输入中的所有值都是整数。
输入
从标准输入中以以下格式给出输入:
N
A1 A2 ldots AN
输出
以单行形式打印使得 A 变为非递减序列所需的最小操作数。
示例输入 1
6
3 4 1 1 2 4
示例输出 1
3
可以通过以下三个操作来使得 A 变为非递减序列:
- 选择 (i,j)=(2,3),交换 A2 和 A3,得到 A=(3,1,4,1,2,4)。
- 选择 (i,j)=(1,4),交换 A1 和 A4,得到 A=(1,1,4,3,2,4)。
- 选择 (i,j)=(3,5),交换 A3 和 A5,得到 A=(1,1,2,3,4,4)。
这是最小的操作数,因为用两个或更少的操作无法使 A 变为非递减序列。
因此,应该输出 3。
示例输入 2
4
2 3 4 1
示例输出 2
3