Strictly Increasing
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}给定一个长度为 n 的正整数序列 a_1, a_2, \dots, a_n
\hspace{15pt}你可以对序列中的每个元素 a_i 分别独立地执行以下操作任意次(可以不执行):
\hspace{23pt}\bullet\,选择一个正整数 x,并将 a_i 替换为 a_i \bmod x
\hspace{15pt}你的目标是判断,是否可以通过上述操作,使原序列严格递增,即满足 a_1 < a_2 < \dots < a_n

【名词解释】
\hspace{15pt}\bmod:代表取模运算。例如,5 除以 3 的余数为 2,因此式子 5 \bmod 3 的值为 2

输入描述:

\hspace{15pt}第一行输入一个整数 n \left(1 \le n \le 10^5 \right),表示序列的长度。
\hspace{15pt}第二行输入 n 个整数 a_1, a_2, \dots, a_n \left(1 \le a_i \le 10^9 \right)

输出描述:

\hspace{15pt}如果可以构造出严格递增序列,输出 \texttt{YES},否则输出 \texttt{NO}
示例1

输入

复制
7
15 15 15 4 15 15 15

输出

复制
YES
示例2

输入

复制
7
10 10 10 10 10 10 10

输出

复制
NO