#694. 数字排列

    ID: 694 传统题 1000ms 256MiB 尝试: 2 已通过: 1 难度: 3 上传者: 标签>安徽合肥市经开区区赛合肥市经开区区赛2024

数字排列

题目描述

一天,小 k 对如何给一个整数数组按照不递减顺序排序产生了兴趣。作为一名小学生,她能做的只有一个操作:单位移动。每次她可以把最后一个元素移动到第一个位置,也就是:$a_1,a_2,...,a_n \rightarrow a_n,a_1,a_2,...,a_{n-1}$

帮助小 k 确定:最少需要花多少次操作才能把数组排好序?

输入格式

第一行一个正整数 n(2n105)n(2\le n\le 10^5),表示数组大小。

第二行 nn 个正整数 a1,a2,...,an(1ai105)a1,a_2,...,a_n(1\le a_i\le 10^5),表示数组中的元素。

输出格式

如果不可能完成,输出 1-1,否则输出最少花费的操作数。

样例输入 1

2
2 1

样例输出 1

1

样例输入 2

3
1 3 2

样例输出 2

-1

样例输入 3

2
1 2

样例输出 3

0

说明

数据范围

对于 20%20\% 的数据,n10n \le 10; 对于 40%40\% 的数据,n1000n \le 1000; 对于 60%60\% 的数据,n10000n \le 10000; 对于 90%90\% 的数据,n50000n \le 50000; 对于 100%100\% 的数据,n100000n \le 100000