首页 > 试题广场 >

Strictly Increasing

[编程题]Strictly Increasing
  • 热度指数:49 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\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

这道题你会答吗?花几分钟告诉大家答案吧!