У вас есть \(n\) стопок из блоков. В \(i\)-й стопке изначально \(h_i\) блоков и ее высота — это число блоков в ней. За один ход вы можете взять блок из \(i\)-й стопки (если в ней есть хотя бы один блок) и переложить его в \(i + 1\)-ю стопку. Можно ли сделать высоты блоков строго возрастающими?
Обратите внимание, что количество стопок всегда остается равно \(n\): стопки не исчезают, когда у них становится \(0\) блоков.
Выходные данные
Для каждого набора вxодных данных выведите YES, если вы можете сделать последовательность высот строго возрастающей и NO иначе.
Вы можете вывести каждую букву в любом регистре (например, YES, Yes, yes, yEs будут распознаны как положительный ответ).
Примечание
В первом примере не нужно делать никаких действий, последовательность высот уже возрастающая.
Во втором примере мы должны переложить один блок с первой стопки на вторую. Тогда последовательность высот становится \(0\) \(1\).
В третьем примере мы можем подвинуть один блок с первой стопки на вторую, а потом его же со второй стопки на третью и получим последовательность высот \(3\) \(4\) \(5\).
В четвертом примере мы не можем сделать никакое действие, а последовательность высот не возрастает, откуда ответ NO.
В пятом примере мы можем сделать только одно действие (переложить блок с второй на третью стопку) и получим последовательность высот \(0\) \(0\) \(1\). Ни \(0\) \(1\) \(0\), ни \(0\) \(0\) \(1\) не являются возрастающими, откуда ответ NO.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
6 2 1 2 2 1 0 3 4 4 4 2 0 0 3 0 1 0 4 1000000000 1000000000 1000000000 1000000000
|
YES
YES
YES
NO
NO
YES
|