B. Prefissi e Suffixes
Dato un array ordinato di n zeri. Ad ogni passo, puoi scegliere un numero arbitrario dei primi o ultimi elementi di questo array, e aggiungere uno a tutti gli elementi selezionati. È possibile raggiungere lo stato specificato dell'array dopo un certo numero di tali operazioni?
Formato di input
La prima riga contiene un intero 1 ≤ n ≤ 100000 — il numero di elementi nell'array.
La seconda riga contiene n numeri interi non negativi a1, a2, ..., an separati da spazi, dove ai ≤ 10^18 — gli elementi finali desiderati.
Formato di output
Stampa "YES" se tale stato è raggiungibile, e "NO" se non lo è.
Esempio
Input
[phone]
Output
YES
Nota
Gli stati [phone] possono essere raggiunti come segue:
aggiungi uno ai primi tre elementi, ottenendo [phone]
aggiungi uno agli ultimi quattro elementi, ottenendo [phone]
aggiungi uno all'ultimo elemento, ottenendo [phone]