У вас есть последовательность из $$$n$$$ часов, расположенных в ряд, где начальное время на $$$i$$$-х часах равно $$$a_i$$$. Каждую секунду по порядку происходит следующее:
Обратите внимание, что вышеуказанные события происходят по порядку. Если время на часах достигает $$$0$$$ в определенную секунду, даже если вы можете переместиться к этим часам и сбросить их время в течение этой секунды, вы всё равно проиграете.
Вы можете начать с любых часов. Определите, возможно ли продолжать этот процесс бесконечно, не проигрывая.
Первая строка входных данных содержит одно целое число $$$t$$$ ($$$1 \leq t \leq 10^4$$$) — количество наборов входных данных.
Первая строка каждого набора входных данных содержит одно целое число $$$n$$$ ($$$2 \leq n \leq 5 \cdot 10^5$$$) — количество часов.
Вторая строка содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \leq a_i \leq 10^9$$$) — начальные времена, установленные на часах.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$5\cdot 10^5$$$.
Для каждого набора входных данных выведите «YES» (без кавычек), если возможно продолжать этот процесс бесконечно, или «NO» (без кавычек) в противном случае.
Вы можете выводить каждую букву в любом регистре (строчную или заглавную). Например, строки «yEs», «yes», «Yes» и «YES» будут приняты как положительный ответ.
524 1022 234 10 535 3 5512 13 25 17 30
YES NO NO YES YES
В первом наборе входных данных вы можете перемещаться между двумя часами, бесконечно сбрасывая их.
В третьем наборе входных данных предположим, что вы начинаете с часов $$$1$$$ и следуете стратегии ниже:
Изначально, $$$a=[4,10,5]$$$.
Можно доказать, что никакая другая стратегия также не позволяет вам продолжать этот процесс бесконечно.
Название |
---|