#P4224. 怎么又是先增后减

怎么又是先增后减

说明

青蛙又给了周欣一个长为 $N$ 的正整数序列 $A_i$,周欣可以进行若干次操作,每次可以选择一个位置 $i$,满足 $1\le i\le N-1$,将 $A_i$ 的值和 $A_{i+1}$ 的值进行交换。

设经过这若干次操作后的序列为 $B_i$,那么需要存在一个整数 $k \in [1,N]$,满足:

  • 区间 $[1,k]$ 构成的子序列 $[B_1,B_2,\cdots,B_k]$ 是一个非严格单调递增的序列,即相邻两项允许相等,但是左边元素不能大于右边元素。
  • 区间 $[k,N]$ 构成的子序列 $[B_k,B_{k+1},\cdots,B_N]$ 是一个非严格单调递减的序列,即相邻两项允许相等,但是左边元素不能小于右边元素。

周欣想知道至少需要对序列进行多少次上述操作后,这个要求才能得以满足,他把这个问题交给了你来解决。

输入格式

第一行一个整数 $N$,表示序列长度。

第二行 $n$ 个整数表示 $A_1,A_2,\cdots ,A_n$。

输出格式

输出一个整数,表示答案,即最少的操作次数。

样例

7
3 1 4 1 5 9 2
3

样例

9
10 4 6 3 15 9 1 1 12
8

样例

8
9 9 8 8 7 7 6 6
0

提示

数据范围

对于 $20\%$ 的数据,满足 $n \leq 10$。

对于 $50\%$ 的数据,满足 $n \leq 5\,000$。

对于 $100\%$ 的数据,满足 $1 \leq n \leq 10^5$,$1 \leq a_i \leq 10^5$。