#joi2021hoc. [joi2021ho_c]集合写真 (Group Photo)

[joi2021ho_c]集合写真 (Group Photo)

翻译结果:

某个合宿的最后一天,合宿参与者共 $N$ 人合影。参与者按照身高从矮到高编号为 $1$ 到 $N$。参与者 $h$ 的身高为 $h$ ($1 \leq h \leq N$)。

合影时,参与者站在楼梯上拍摄。这个楼梯一共有 $N$ 级,从低到高依次编号为 $1$ 到 $N$。第 $i+1$ 级比第 $i$ 级高 $2$ ($1 \leq i \leq N-1$)。由于楼梯的宽度很窄,每级只能容纳一个参与者,他们需要竖直排列来进行拍摄。

马上就要开始拍摄了,每个人都站在自己所在的级别上。当前,站在第 $i$ 级 ($1 \leq i \leq N$) 的参与者是 $H_i$。

然而,由于参与者之间的身高差异过大,可能会有一些参与者站在现有顺序中无法出现在照片中。因此,你想要重新排列参与者的位置,使得至少所有人的头部都能够在照片中出现。也就是说,希望满足以下条件:

*   站在第 $i$ 级 ($1 \leq i \leq N$) 的参与者的身高为 $a_i$。对于所有的 $i$ ($1 \leq i \leq N-1$),满足 $a_{i} < a_{i+1} + 2$。

然而,你只能交换相邻参与者的位置。也就是说,在一次操作中,你可以选择任意一个级别 $i$ ($1 \leq i \leq N-1$),交换第 $i$ 级和第 $i+1$ 级的参与者。

你希望通过尽可能少的操作次数,使得满足条件。

给定当前参与者的顺序,编写一个程序来求解所需的最小操作次数。

---

### 输入

输入以以下格式从标准输入中给出。所有输入都为整数。

$N$
$H_1$ $\cdots$ $H_N$

### 输出

输出最小操作次数,以一行形式输出到标准输出。

---

### 约束条件

*   $3 \leq N \leq 5,000$。
*   $1 \leq H_i \leq N$ ($1 \leq i \leq N$)。
*   $H_i \neq H_j$ ($1 \leq i < j \leq N$)。

---

### 示例 1

#### 输入示例 1

```plain
5
3 5 2 4 1

输出示例 1

3

通过以下 33 次操作,可以满足条件:

  • 首先,交换第 22 级和第 33 级的参与者。参与者的身高顺序为 3,2,5,4,13, 2, 5, 4, 1
  • 接下来,交换第 44 级和第 55 级的参与者。参与者的身高顺序为 3,2,5,1,43, 2, 5, 1, 4
  • 最后,交换第 33 级和第 44 级的参与者。参与者的身高顺序为 3,2,1,5,43, 2, 1, 5, 4,满足条件。

无法在 22 次或更少的操作中满足条件,因此输出 33


示例 2

输入示例 2

5
3 2 1 5 4

输出示例 2

0

由于已经满足条件,不需要进行操作。


示例 3

输入示例 3

9
6 1 3 4 9 5 7 8 2

输出示例 3

9