#694. 数字排列

    ID: 694 传统题 文件IO:number 1000ms 256MiB 尝试: 16 已通过: 5 难度: 普及− 上传者: 标签>安徽合肥市经开区区赛2024

数字排列

本题需要文件读写

文件 IO 为:输入文件 number.in,输出文件 number.out。请使用上述文件名读入和输出。

题目描述

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

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

输入格式

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

第二行 nn 个正整数 a1,a2,...,an(1≤ai≤105)a_1,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\% 的数据,n≤10n \le 10;

对于 40%40\% 的数据,n≤1000n \le 1000;

对于 60%60\% 的数据,n≤10000n \le 10000;

对于 90%90\% 的数据,n≤50000n \le 50000;

对于 100%100\% 的数据,n≤100000n \le 100000;