#X240815T11. 你怎么又要AK了

你怎么又要AK了

题目描述

给定一个排列 pp(排列是指 11nn 的每个整数恰好出现一次,长度为 nn 的数组),你每次操作可以选择两个不同的元素 x,yx,y,并将这两个元素从数组中删除,将 x,yx,y 其中较小的元素插入到排列(数组)最前面,将较大的元素插入到排列(数组)最后面,请问最少需要几次操作才能将排列(数组)变为有序(p1<p2<p3<p4<pn1<pnp_1 < p_2 < p_3 < p_4 \cdots < p_{n-1} < p_n)?

输入格式

第一行包含一个正整数 nn,表示这个排列 {p}\{p\} 数组的长度。

第二行包含 nn 个正整数 aia_i,为排列(数组)中的每个元素。

输出格式

输出共一行,输出将排列(数组)变为有序的最小操作次数。

样例

3
1 2 3
0

样例 1 解释

排列(数组)已经有序了,你不需要任何一次操作,所以输出 00

5
1 5 4 2 3
2

样例 2 解释

第一次操作你选择元素 4,24,2,将较小的元素 22 插入到排列(数组)最前面,将较大的元素 44 插入到排列(数组)最后面,本次操作后排列(数组)将变为 [2,1,5,3,4][2,1,5,3,4]

第二次操作选择元素 1,51,5,将较小的元素 11 插入到排列(数组)最前面,将较大的元素 55 插入到排列(数组)最后面,本次操作后排列(数组)将变为 [1,2,3,4,5][1,2,3,4,5]

综上,最少操作了 22 次才能使排列(数组)变为有序,可以证明这是最优的操作方式。

数据范围

对于 100%100\% 的数据保证:1n,ai2×1051 \le n,a_i \le 2\times 10^5