已结束 GESP巅峰赛#27
← 上一题 下一题 →

A5728 | Alice 的简单数组

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

给定长度为 $n$ 的整数数组 $a$。你可以进行若干次整体左旋操作:一次左旋把数组变为 $[a_2,a_3,\dots,a_n,a_1]$。
求最小左旋次数 $r\in[0,n-1]$,使左旋后数组为非降序;若不存在,输出 $-1$。

输入格式

* 第一行一个整数 $T$(测试组数)。
* 对于每组测试:

* 第一行一个整数 $n$;
* 第二行 $n$ 个整数 $a_1,a_2,\dots,a_n$。

输出格式

对每组测试输出一行一个整数:最小左旋次数;若无解输出 $-1$。

输入输出样例

输入 #1
6
5
3 4 5 1 2
4
1 2 2 2
5
5 1 2 3 4
3
2 2 1
3
3 2 1
1
100
输出 #1
3
0
1
2
-1
0
输入 #2
5
6
10 10 10 10 10 10
6
2 3 4 5 6 1
6
2 1 1 1 1 1
6
1 3 2 4 5 6
6
-5 -5 -3 -3 -2 -1
输出 #2
0
5
1
-1
0
C++ 编辑器
输入
输出