测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A15007. Consecutive Points Segment

编程题 普及/提高-
知识点

题目描述

You are given $n$ points with integer coordinates on a coordinate axis $OX$ . The coordinate of the $i$ -th point is $x_i$ . All points' coordinates are distinct and given in strictly increasing order.

For each point $i$ , you can do the following operation no more than once: take this point and move it by $1$ to the left or to the right (i..e., you can change its coordinate $x_i$ to $x_i - 1$ or to $x_i + 1$ ). In other words, for each point, you choose (separately) its new coordinate. For the $i$ -th point, it can be either $x_i - 1$ , $x_i$ or $x_i + 1$ .

Your task is to determine if you can move some points as described above in such a way that the new set of points forms a consecutive segment of integers, i. e. for some integer $l$ the coordinates of points should be equal to $l, l + 1, \ldots, l + n - 1$ .

Note that the resulting points should have distinct coordinates.

You have to answer $t$ independent test cases.

输入格式

The first line of the input contains one integer $t$ ( $1 \le t \le 2 \cdot 10^4$ ) — the number of test cases. Then $t$ test cases follow.

The first line of the test case contains one integer $n$ ( $1 \le n \le 2 \cdot 10^5$ ) — the number of points in the set $x$ .

The second line of the test case contains $n$ integers $x_1 < x_2 < \ldots < x_n$ ( $1 \le x_i \le 10^6$ ), where $x_i$ is the coordinate of the $i$ -th point.

It is guaranteed that the points are given in strictly increasing order (this also means that all coordinates are distinct). It is also guaranteed that the sum of $n$ does not exceed $2 \cdot 10^5$ ( $\sum n \le 2 \cdot 10^5$ ).

输出格式

For each test case, print the answer — if the set of points from the test case can be moved to form a consecutive segment of integers, print YES, otherwise print NO.

输入输出样例

输入 #1
5
2
1 4
3
1 2 3
4
1 2 3 7
1
1000000
3
2 5 6
输出 #1
YES
YES
NO
YES
YES
上一题 去做题 下一题