CF1631B.Fun with Even Subarrays

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Fun with Even Subarrays

You are given an array aa of nn elements. You can apply the following operation to it any number of times:

  • Select some subarray from aa of even size 2k2k that begins at position ll (1ll+2k1n1\le l \le l+2\cdot{k}-1\le n, k1k \ge 1) and for each ii between 00 and k1k-1 (inclusive), assign the value al+k+ia_{l+k+i} to al+ia_{l+i}.

For example, if a=[2,1,3,4,5,3]a = [2, 1, 3, 4, 5, 3], then choose l=1l = 1 and k=2k = 2, applying this operation the array will become a=[3,4,3,4,5,3]a = [3, 4, 3, 4, 5, 3].

Find the minimum number of operations (possibly zero) needed to make all the elements of the array equal.

Input

The input consists of multiple test cases. The first line contains a single integer tt (1t21041 \leq t \leq 2 \cdot 10^4) — the number of test cases. Description of the test cases follows.

The first line of each test case contains an integer nn (1n21051 \leq n \leq 2 \cdot 10^5) — the length of the array.

The second line of each test case consists of nn integers a1,a2,,ana_1, a_2, \dots, a_n (1ain1 \leq a_i \leq n) — the elements of the array aa.

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

Output

Print tt lines, each line containing the answer to the corresponding test case — the minimum number of operations needed to make equal all the elements of the array with the given operation.

Note

In the first test, all elements are equal, therefore no operations are needed.

In the second test, you can apply one operation with k=1k=1 and l=1l=1, set a1:=a2a_1 := a_2, and the array becomes [1,1][1, 1] with 11 operation.

In the third test, you can apply one operation with k=1k=1 and l=4l=4, set a4:=a5a_4 := a_5, and the array becomes [4,4,4,4,4][4, 4, 4, 4, 4].

In the fourth test, you can apply one operation with k=1k=1 and l=3l=3, set a3:=a4a_3 := a_4, and the array becomes [4,2,3,3][4, 2, 3, 3], then you can apply another operation with k=2k=2 and l=1l=1, set a1:=a3a_1 := a_3, a2:=a4a_2 := a_4, and the array becomes [3,3,3,3][3, 3, 3, 3].

In the fifth test, there is only one element, therefore no operations are needed.

Samples

5
3
1 1 1
2
2 1
5
4 4 4 2 4
4
4 2 1 3
1
1
0
1
1
2
0

在线编程 IDE

建议全屏模式获得最佳体验