#abc302g. [abc302_g]Sort from 1 to 4

[abc302_g]Sort from 1 to 4

题目描述

给定一个长度为 NN 的序列 A=(A1,A2,ldots,AN)A=(A_1,A_2,\\ldots,A_N),其中的元素取值范围是 1144

高桥可以任意多次(可能为零次)执行以下操作:

  • 选择一对整数 (i,j)(i,j),满足 1leqi<jleqN1 \\leq i < j \\leq N,交换 AiA_iAjA_j

计算使得 AA 变为非递减序列所需的最小操作数。
一个序列被称为非递减序列,当且仅当对于所有的 1leqileqN11 \\leq i \\leq N-1,有 AileqAi+1A_i \\leq A_{i+1}

约束条件

  • 2leqNleq2times1052 \\leq N \\leq 2 \\times 10^5
  • 1leqAileq41 \\leq A_i \\leq 4
  • 输入中的所有值都是整数。

输入

从标准输入中以以下格式给出输入:

NN A1A_1 A2A_2 ldots\\ldots ANA_N

输出

以单行形式打印使得 AA 变为非递减序列所需的最小操作数。


示例输入 1

6
3 4 1 1 2 4

示例输出 1

3

可以通过以下三个操作来使得 AA 变为非递减序列:

  • 选择 (i,j)=(2,3)(i,j)=(2,3),交换 A2A_2A3A_3,得到 A=(3,1,4,1,2,4)A=(3,1,4,1,2,4)
  • 选择 (i,j)=(1,4)(i,j)=(1,4),交换 A1A_1A4A_4,得到 A=(1,1,4,3,2,4)A=(1,1,4,3,2,4)
  • 选择 (i,j)=(3,5)(i,j)=(3,5),交换 A3A_3A5A_5,得到 A=(1,1,2,3,4,4)A=(1,1,2,3,4,4)

这是最小的操作数,因为用两个或更少的操作无法使 AA 变为非递减序列。
因此,应该输出 33


示例输入 2

4
2 3 4 1

示例输出 2

3