CF1696B.NIT Destroys the Universe

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

NIT Destroys the Universe

For a collection of integers SS, define mex(S)\operatorname{mex}(S) as the smallest non-negative integer that does not appear in SS.

NIT, the cleaver, decides to destroy the universe. He is not so powerful as Thanos, so he can only destroy the universe by snapping his fingers several times.

The universe can be represented as a 1-indexed array aa of length nn. When NIT snaps his fingers, he does the following operation on the array:

  • He selects positive integers ll and rr such that 1lrn1\le l\le r\le n. Let w=mex({al,al+1,,ar})w=\operatorname{mex}(\{a_l,a_{l+1},\dots,a_r\}). Then, for all lirl\le i\le r, set aia_i to ww.

We say the universe is destroyed if and only if for all 1in1\le i\le n, ai=0a_i=0 holds.

Find the minimum number of times NIT needs to snap his fingers to destroy the universe. That is, find the minimum number of operations NIT needs to perform to make all elements in the array equal to 00.

Input

Each test contains multiple test cases. The first line contains the number of test cases tt (1t1041 \le t \le 10^4). Description of the test cases follows.

The first line of each test case contains one integer nn (1n1051\le n\le 10^5).

The second line of each test case contains nn integers a1a_1, a2a_2, \ldots, ana_n (0ai1090\le a_i\le 10^9).

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 one integer — the answer to the problem.

Note

In the first test case, we do 00 operations and all elements in the array are already equal to 00.

In the second test case, one optimal way is doing the operation with l=2l=2, r=5r=5.

In the third test case, one optimal way is doing the operation twice, respectively with l=4l=4, r=4r=4 and l=2l=2, r=6r=6.

In the fourth test case, one optimal way is doing the operation with l=1l=1, r=1r=1.

Samples

4
4
0 0 0 0
5
0 1 2 3 4
7
0 2 3 0 1 2 0
1
1000000000
0
1
2
1

在线编程 IDE

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