実行時間制限: 2 sec / メモリ制限: 1024 MB
配点 : 300 点
問題文
左右一列に N 個のマスが並んでおり、左から i 番目のマスの高さは H_i です。
あなたは各マスについて 1 度ずつ次のいずれかの操作を行います。
- マスの高さを 1 低くする。
- 何もしない。
操作をうまく行うことでマスの高さを左から右に向かって単調非減少にできるか求めてください。
制約
- 入力は全て整数である。
- 1 \leq N \leq 10^5
- 1 \leq H_i \leq 10^9
入力
入力は以下の形式で標準入力から与えられる。
N H_1 H_2 ... H_N
出力
マスの高さを左から右に向かって単調非減少にできるなら Yes
、そうでないなら No
を出力せよ。
入力例 1
5 1 2 1 1 3
出力例 1
Yes
左から 2 番目のマスのみ高さを 1 低くすることで目的を達成できます。
入力例 2
4 1 3 2 1
出力例 2
No
入力例 3
5 1 2 3 4 5
出力例 3
Yes
入力例 4
1 1000000000
出力例 4
Yes
Score : 300 points
Problem Statement
There are N squares arranged in a row from left to right. The height of the i-th square from the left is H_i.
For each square, you will perform either of the following operations once:
- Decrease the height of the square by 1.
- Do nothing.
Determine if it is possible to perform the operations so that the heights of the squares are non-decreasing from left to right.
Constraints
- All values in input are integers.
- 1 \leq N \leq 10^5
- 1 \leq H_i \leq 10^9
Input
Input is given from Standard Input in the following format:
N H_1 H_2 ... H_N
Output
If it is possible to perform the operations so that the heights of the squares are non-decreasing from left to right, print Yes
; otherwise, print No
.
Sample Input 1
5 1 2 1 1 3
Sample Output 1
Yes
You can achieve the objective by decreasing the height of only the second square from the left by 1.
Sample Input 2
4 1 3 2 1
Sample Output 2
No
Sample Input 3
5 1 2 3 4 5
Sample Output 3
Yes
Sample Input 4
1 1000000000
Sample Output 4
Yes