CF1671B.Consecutive Points Segment

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

Consecutive Points Segment

题目描述

给定 nn 个在坐标轴 OXOX 上的整点,这些点的坐标为 xix_i。所有点的坐标互不相同,并且严格递增。

对于每个点 ii,你最多可以进行一次如下操作:将该点向左或向右移动 11 个单位(即,你可以将其坐标 xix_i 改为 xi1x_i - 1xi+1x_i + 1)。换句话说,对于每个点,你可以单独选择它的新坐标。对于第 ii 个点,其新坐标可以是 xi1x_i - 1xix_ixi+1x_i + 1

你的任务是判断,是否可以通过上述操作,使得所有点的新坐标构成一段连续的整数区间。即,存在某个整数 ll,使得所有点的坐标为 l,l+1,,l+n1l, l + 1, \ldots, l + n - 1

注意,最终所有点的新坐标也必须互不相同。

你需要回答 tt 组独立的测试用例。

输入格式

输入的第一行包含一个整数 tt1t21041 \le t \le 2 \cdot 10^4),表示测试用例的数量。接下来是 tt 组测试用例。

每组测试用例的第一行包含一个整数 nn1n21051 \le n \le 2 \cdot 10^5),表示点的数量。

第二行包含 nn 个整数 x1<x2<<xnx_1 < x_2 < \ldots < x_n1xi1061 \le x_i \le 10^6),表示第 ii 个点的坐标。

保证所有点的坐标严格递增(也即所有坐标互不相同)。保证所有测试用例中 nn 的总和不超过 21052 \cdot 10^5n2105\sum n \le 2 \cdot 10^5)。

输出格式

对于每组测试用例,输出一行答案。如果可以通过操作使得所有点的新坐标构成一段连续的整数区间,输出 YES,否则输出 NO。

说明/提示

由 ChatGPT 4.1 翻译

样例

5
2
1 4
3
1 2 3
4
1 2 3 7
1
1000000
3
2 5 6
YES
YES
NO
YES
YES

在线编程 IDE

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