CF1672C.Unequal Array

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

Unequal Array

You are given an array aa of length nn. We define the equality of the array as the number of indices 1in11 \le i \le n - 1 such that ai=ai+1a_i = a_{i + 1}. We are allowed to do the following operation:

  • Select two integers ii and xx such that 1in11 \le i \le n - 1 and 1x1091 \le x \le 10^9. Then, set aia_i and ai+1a_{i + 1} to be equal to xx.

Find the minimum number of operations needed such that the equality of the array is less than or equal to 11.

Input

Each test contains multiple test cases. The first line contains a single integer tt (1t1041 \leq t \leq 10^4) — the number of test cases. The description of the test cases follows.

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

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 the sum of nn over all test cases does not exceed 21052 \cdot 10 ^ 5

Output

For each test case, print the minimum number of operations needed.

Note

In the first test case, we can select i=2i=2 and x=2x=2 to form [1,2,2,1,1][1, 2, 2, 1, 1]. Then, we can select i=3i=3 and x=3x=3 to form [1,2,3,3,1][1, 2, 3, 3, 1].

In the second test case, we can select i=3i=3 and x=100x=100 to form [2,1,100,100,2][2, 1, 100, 100, 2].

Samples

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

在线编程 IDE

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