Problem10739--ABC136 - C - Build Stairs

10739: ABC136 - C - Build Stairs

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 512 MiB

Description

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.

Input

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.

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`.

Constraints

-   All values in input are integers.
-   $1 \leq N \leq 10^5$
-   $1 \leq H_i \leq 10^9$

Sample 1 Input

5
1 2 1 1 3

Sample 1 Output

Yes
You can achieve the objective by decreasing the height of only the second square from the left by $1$.

Sample 2 Input

4
1 3 2 1

Sample 2 Output

No

Sample 3 Input

5
1 2 3 4 5

Sample 3 Output

Yes

1
1000000000

Yes

Source/Category