#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$
  • 输入中的所有数都是整数。

输入

输入数据从标准输入读入,格式如下:

NN

A1A_1 A2A_2 \ldots ANA_N

输出

在一行中输出使得 $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