Олимпиадный тренинг

Задача . B. Отрезок последовательных точек


Вам задано \(n\) точек с целочисленными координатами на координатной оси \(OX\). Координата \(i\)-й точки равна \(x_i\). Все координаты точек различны и заданы в строго возрастающем порядке.

Для каждой точки \(i\) вы можете не более одного раза сделать следующую операцию: взять эту точку и подвинуть ее на \(1\) влево или вправо (то есть вы можете изменить ее координату \(x_i\) на \(x_i - 1\) или на \(x_i + 1\)). Другими словами, вы можете выбрать для каждой точки по отдельности ее новую координату. Для \(i\)-й точки новой координатой может быть \(x_i - 1\), \(x_i\) или \(x_i + 1\).

Ваша задача — определить, сможете ли вы подвинуть точки описанным выше способом так, чтобы новое множество точек образовывало последовательный отрезок целых чисел, то есть для какого-то целого числа \(l\) координаты точек будут равны \(l, l + 1, \ldots, l + n - 1\).

Заметьте, что результирующее множество также должно состоять из точек с различными координатами.

Вам предстоит ответить на \(t\) независимых наборов тестовых данных.

Входные данные

Первая строка входных данных содержит одно целое число \(t\) (\(1 \le t \le 2 \cdot 10^4\)) — количество наборов тестовых данных. Затем следуют \(t\) наборов.

Первая строка набора тестовых данных содержит одно целое число \(n\) (\(1 \le n \le 2 \cdot 10^5\)) — количество точек в множестве \(x\).

Вторая строка набора тестовых данных содержит \(n\) целых чисел \(x_1 < x_2 < \ldots < x_n\) (\(1 \le x_i \le 10^6\)), где \(x_i\) — координата \(i\)-й точки.

Гарантируется, что точки заданы в строго возрастающем порядке (это также значит, что все координаты различны). Также гарантируется, что сумма \(n\) не превосходит \(2 \cdot 10^5\) (\(\sum n \le 2 \cdot 10^5\)).

Выходные данные

Выведите ответ на каждый набор тестовых данных — если множество точек из набора может быть сдвинуто таким образом, чтобы образовывать последовательный отрезок целых чисел, выведите YES, иначе выведите NO.


Примеры
Входные данныеВыходные данные
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

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя