B. Prefijos y Sufijos
Dado un array ordenado de n ceros. En cada paso, puedes elegir un número arbitrario de los primeros o últimos elementos de este array, y sumar uno a todos los elementos seleccionados. ¿Es posible alcanzar el estado especificado del array después de alguna cantidad de estas operaciones?
Formato de entrada
La primera línea contiene un entero 1 ≤ n ≤ 100000 — el número de elementos en el array.
La segunda línea contiene n números enteros no negativos a1, a2, ..., an separados por espacios, donde ai ≤ 10^18 — los elementos finales deseados.
Formato de salida
Imprime "YES" si tal estado es alcanzable, y "NO" si no lo es.
Ejemplo
Entrada
[phone]
Salida
YES
Nota
Los estados [phone] se pueden alcanzar de la siguiente manera:
sumar uno a los primeros tres elementos, resultando en [phone]
sumar uno a los últimos cuatro elementos, resultando en [phone]
sumar uno al último elemento, resultando en [phone]