qxforever 喜欢排序。
他有一个长度为 $n$ 的排列 $P$ ( $[p_1,p_2,\cdots,p_n]$ ) 。即在一个长度为 $n$ 的数组中,$1$ 到 $n$ 的正整数的出现次数均为 $1$ 。例如,$[2,3,1,5,4]$ 是一个排列,而 $[1,2,2]$ 不是一个排列。
现在你需要进行以下的操作直到该排列变为 $[1,2,3,\cdots,n]$ :
qxforever 想知道最少多少次操作之后,$P$ 能变为 $[1,2,3,\cdots,n]$ 。
第一行一个正整数 $n$ ,表示排列 $P$ 的长度。
第二行包含 $n$ 个正整数,$p_1,p_2,\dots,p_n$ 表示 $P$ 的 $n$ 个元素。保证输入是一个合法的排列。
一个整数,表示 $P$ 变为 $[1,2,3,\cdots,n]$ 需要的最少的次数。
5
3 5 1 2 4
3
第一次操作中,$3,5$ 是极大元,$1,2,4$ 是非极大元,排列变为 $[1,2,4,3,5]$ 。
$[3,5,1,2,4]$ >> $[1,2,4,3,5]$ >> $[3,1,2,4,5]$ >> $[1,2,3,4,5]$ 需要 $3$ 次。
5
5 4 3 2 1
4
[$5,4,3,2,1$] >> $[4,3,2,1,5]$ >> $[3,2,1,4,5]$ >> $[2,1,3,4,5]$ >> $[1,2,3,4,5]$ 需要 $4$ 次。
对于 $10\%$ 的数据,满足 $n\le 10$。
对于 $40\%$ 的数据,满足 $n\le 5000$。
对于 $100\%$ 的数据,满足 $n\le 2\times10^5$ 。