Скоро Codeforces Round 1133 (Div. 1, Div. 2)! Регистрация здесь. ×
B. Никита и книги
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Никита, как известно, очень любит читать. Сегодня он устроил беспорядок в своей комнате и сложил книги в $$$n$$$ башен в ряд, пронумерованных от $$$1$$$ до $$$n$$$ слева направо. В $$$i$$$-й башне $$$a_i$$$ книг. Такое расположение книг будет аккуратным, если во всех башнях, кроме самой правой, количество книг строго меньше, чем количество книг в башне справа от неё, то есть массив $$$a$$$ является строго возрастающим.

Юра хочет сделать расположение книг аккуратным, проделывая следующее действие любое количество раз:

  1. Выбрать башню $$$i$$$ такую, что $$$1 \le i \lt n$$$ и $$$a_i \gt 1$$$.
  2. Взять $$$1$$$ книгу сверху башни $$$i$$$, $$$a_i$$$ при этом уменьшится на $$$1$$$.
  3. Положить книгу наверх башни $$$i + 1$$$, $$$a_{i+1}$$$ при этом увеличится на $$$1$$$.

Определите, получится ли у Юры сделать расположение книг аккуратным?

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

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

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

Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$a_i$$$ ($$$1 \le a_i \le 10^9$$$) — изначальное количество книг в каждой башне.

Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.

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

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

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

Пример
Входные данные
7
3
1 2 3
3
1 1 2
3
10 1 1
3
2 2 2
4
1 4 2 2
5
8 2 8 1 8
4
1 1 3 5
Выходные данные
YES
NO
YES
YES
NO
YES
NO