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

Задача . D. Префиксные суммы перестановки


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

Перестановкой из \(n\) элементов называется массив из \(n\) чисел от \(1\) до \(n\), такой что каждое число встречается в нём ровно один раз.

Массив префиксных сумм массива \(a\) — это такой массив \(b\), что \(b_i = \sum_{j=1}^i a_j, 1 \le i \le n\).

Например, исходная перестановка была \([1, 5, 2, 4, 3]\). Её массив префиксных сумм — \([1, 6, 8, 12, 15]\). Потеряв один элемент, можно получить, например, массивы \([6, 8, 12, 15]\) или \([1, 6, 8, 15]\).

Также можно показать, что массив \([1, 2, 100]\) не соответствует никакой перестановке.

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

Первая строка содержит положительное число \(t\) (\(1 \le t \le 10^4\)) — количество наборов входных данных. Далее следует описание наборов входных данных.

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

Вторая строка описания каждого набора входных данных содержит \(n - 1\) положительное число \(a_i\) (\(1 \le a_i \le 10^{18}\)), \(a_{i-1} < a_i\) — элементы массива префиксных сумм.

Гарантируется, что сумма значений \(n\) по всем наборам не превосходит \(2 \cdot 10^5\)

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

Для каждого набора входных данных, выведите «YES», если существует такая перестановка, и «NO» в противном случае.

Вы можете выводить «YES» и «NO» в любом регистре (например, строки «yEs», «yes» и «Yes» будут распознаны как положительный ответ).

Примечание

В четвёртом примере подходит, например, перестановка \([1, 2, 3, 4]\). В пятом примере подходит, например, перестановка \([2, 1]\). В седьмом примере подходит, например, перестановка \([1, 2, 4, 3]\).


Примеры
Входные данныеВыходные данные
1 12
5
6 8 12 15
5
1 6 8 15
4
1 2 100
4
1 3 6
2
2
3
1 2
4
3 7 10
5
5 44 46 50
4
1 9 10
5
13 21 36 42
5
1 2 3 1000000000000000000
9
9 11 12 20 25 28 30 33
YES
YES
NO
YES
YES
NO
YES
NO
NO
NO
NO
NO

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

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