CF2127A Mix Mex Max
Description
You are given an array $a$ consisting of $n$ non-negative integers. However, some elements of $a$ are missing, and they are represented by $−1$.
We define that the array $a$ is good if and only if the following holds for every $1 \leq i \leq n-2$:
$$
\operatorname{mex}([a_i, a_{i+1}, a_{i+2}]) = \max([a_i, a_{i+1}, a_{i+2}]) - \min([a_i, a_{i+1}, a_{i+2}]),
$$
where $\operatorname{mex}(b)$ denotes the minimum excluded (MEX)$^{\text{∗}}$ of the integers in $b$.
You have to determine whether you can make $a$ good after replacing each $-1$ in $a$ with a non-negative integer.
$^{\text{∗}}$The minimum excluded (MEX) of a collection of integers $b_1, b_2, \ldots, b_k$ is defined as the smallest non-negative integer $x$ which does not occur in the collection $b$. For example, $\operatorname{mex}([2,2,1])=0$ because $0$ does not belong to the array, and $\operatorname{mex}([0,3,1,2])=4$ because $0$, $1$, $2$, and $3$ appear in the array, but $4$ does not.
Input Format
Each test contains multiple test cases. The first line contains the number of test cases $t$ ($1 \le t \le 500$). The description of the test cases follows.
The first line of each test case contains a single integer $n$ ($3 \leq n \leq 100$) — the length of $a$.
The second line contains $n$ integers $a_1,a_2,\ldots,a_n$ ($-1 \leq a_i \leq 100$) — the elements of $a$. $a_i = -1$ denotes that this element is missing.
Output Format
For each test case, output "YES" if it is possible to make $a$ good, and "NO" otherwise.
You can output the answer in any case (upper or lower). For example, the strings "yEs", "yes", "Yes", and "YES" will be recognized as positive responses.
Explanation/Hint
In the first test case, we can put $a_1 = a_2 = a_3 = 1$. Then,
- $\operatorname{mex}([a_1, a_2, a_3]) = \operatorname{mex}([1, 1, 1]) = 0$;
- $\max([a_1, a_2, a_3]) = \max([1, 1, 1]) = 1$;
- $\min([a_1, a_2, a_3]) = \min([1, 1, 1]) = 1$.
And $0 = 1 - 1$. Thus, the array $a$ is good.
In the second test case, none of the elements in $a$ is missing. And we have
- $\operatorname{mex}([a_1, a_2, a_3]) = \max([a_1, a_2, a_3]) - \min([a_1, a_2, a_3])$,
- $\operatorname{mex}([a_2, a_3, a_4]) = \max([a_2, a_3, a_4]) - \min([a_2, a_3, a_4])$, but
- $\operatorname{mex}([a_3, a_4, a_5]) \ne \max([a_3, a_4, a_5]) - \min([a_3, a_4, a_5])$.
Thus, the array $a$ cannot be good.
In the third test case, none of $a_1$, $a_2$, or $a_3$ is missing. However,
- $\operatorname{mex}([a_1, a_2, a_3]) = \operatorname{mex}([5, 5, 1]) = 0$;
- $\max([a_1, a_2, a_3]) = \max([5, 5, 1]) = 5$;
- $\min([a_1, a_2, a_3]) = \min([5, 5, 1]) = 1$.
And $0\ne 5 - 1$. So the array $a$ cannot be good, no matter how you replace the missing elements.