CF BUDDY
← Problems·

1907F · Shift and Reverse

1800 · greedy, sortings

Problem: Given an array of integers a1,a2,,ana_1, a_2, \ldots, a_n. You can make two types of operations with this array:

  • Shift: move the last element of array to the first place, and shift all other elements to the right, so you get the array an,a1,a2,,an1a_n, a_1, a_2, \ldots, a_{n-1}.
  • Reverse: reverse the whole array, so you get the array an,an1,,a1a_n, a_{n-1}, \ldots, a_1.

Your task is to sort the array in non-decreasing order using the minimal number of operations, or say that it is impossible.

Input Format: The first line of input contains a single integer tt (1t1041 \le t \le 10^4) — the number of test cases. Descriptions of test cases follow.

The first line of each test case contains an integer nn (1n1051\le n \le 10^5) — size of the array.

The second line of each test case contains nn integers a1,a2,,ana_1, a_2, \ldots, a_n (1ai1091 \le a_i \le 10^9) — elements of the array.

It is guaranteed that sum of nn over all test cases does not exceed 21052 \cdot 10^5.

Output Format: For each test case output the number kk, the minimal number of operations you need to sort the array. If it is impossible to sort the array using these operations, output 1-1.

Note: In the first test case of the example, to sort the array [3,2,1,5,43, 2, 1, 5, 4] you need to perform 33 operations:

  • Shift to obtain the array [4,3,2,1,54, 3, 2, 1, 5];
  • Shift to obtain the array [5,4,3,2,15, 4, 3, 2, 1];
  • Reverse to obtain the array [1,2,3,4,51, 2, 3, 4, 5].

In the third test case of the example, it can be shown that it is impossible to sort the array using the given operations.

In the seventh test case of the example, to sort the array [4,1,3,4,44, 1, 3, 4, 4] you need to perform 33 operations:

  • Reverse to obtain the array [4,4,3,1,44, 4, 3, 1, 4];
  • Shift to obtain the array [4,4,4,3,14, 4, 4, 3, 1];
  • Reverse to obtain the array [1,3,4,4,41, 3, 4, 4, 4].

Sample Cases

Case 1

Input

11
5
3 2 1 5 4
5
1 1 2 1 1
4
3 7 10 5
5
1 2 3 4 5
2
5 1
3
3 4 1
5
4 1 3 4 4
3
5 1 1
4
2 5 5 4
5
2 2 1 1 2
2
5 5

Output

3
2
-1
0
1
1
3
1
2
2
0

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback