题库练习 Fun with Even Subarrays
← 上一题 下一题 →

A14791 | Fun with Even Subarrays

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

题目描述

You are given an array $a$ of $n$ elements. You can apply the following operation to it any number of times:

- Select some subarray from $a$ of even size $2k$ that begins at position $l$ ( $1\le l \le l+2\cdot{k}-1\le n$ , $k \ge 1$ ) and for each $i$ between $0$ and $k-1$ (inclusive), assign the value $a_{l+k+i}$ to $a_{l+i}$ .

For example, if $a = [2, 1, 3, 4, 5, 3]$ , then choose $l = 1$ and $k = 2$ , applying this operation the array will become $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.

输入格式

The input consists of multiple test cases. The first line contains a single integer $t$ ( $1 \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 $n$ ( $1 \leq n \leq 2 \cdot 10^5$ ) — the length of the array.

The second line of each test case consists of $n$ integers $a_1, a_2, \dots, a_n$ ( $1 \leq a_i \leq n$ ) — the elements of the array $a$ .

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

输出格式

Print $t$ 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.

输入输出样例

输入 #1
5
3
1 1 1
2
2 1
5
4 4 4 2 4
4
4 2 1 3
1
1
输出 #1
0
1
1
2
0
C++ 编辑器
输入
输出