import java.util.*;
public class Main {
	Scanner sc = new Scanner(System.in);
	int a,b,c,d,e,f,k,l,m,n,x,y,z;
	int ans;
	int[] h;
	boolean flg=true;
	String[] S;

	Main(){
		n = sc.nextInt();
		h = new int[n];
		for(int i=0;i<n;i++)
			h[i]=sc.nextInt();

		for(int j=n-1;j>0;j--){
			if(h[j]<h[j-1]){
				if(h[j-1]-h[j]==1){
					h[j-1]-=1;
				} else {
					flg=false;
					break;
				}
			}
		}

		// 出力
		if(flg)
			System.out.println("Yes");
		else
			System.out.println("No");
	}

	public static void main(String[] args){
		new Main();
	}
} import java.util.*; util.* java public class Main {
	Scanner sc = new Scanner(System.in);
	int a,b,c,d,e,f,k,l,m,n,x,y,z;
	int ans;
	int[] h;
	boolean flg=true;
	String[] S;

	Main(){
		n = sc.nextInt();
		h = new int[n];
		for(int i=0;i<n;i++)
			h[i]=sc.nextInt();

		for(int j=n-1;j>0;j--){
			if(h[j]<h[j-1]){
				if(h[j-1]-h[j]==1){
					h[j-1]-=1;
				} else {
					flg=false;
					break;
				}
			}
		}

		// 出力
		if(flg)
			System.out.println("Yes");
		else
			System.out.println("No");
	}

	public static void main(String[] args){
		new Main();
	}
} Main Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int a a b b c c d d e e f f k k l l m m n n x x y y z; z int ans; ans int[] h; h boolean flg=true; flg true String[] S; S Main(){
		n = sc.nextInt();
		h = new int[n];
		for(int i=0;i<n;i++)
			h[i]=sc.nextInt();

		for(int j=n-1;j>0;j--){
			if(h[j]<h[j-1]){
				if(h[j-1]-h[j]==1){
					h[j-1]-=1;
				} else {
					flg=false;
					break;
				}
			}
		}

		// 出力
		if(flg)
			System.out.println("Yes");
		else
			System.out.println("No");
	} Main {
		n = sc.nextInt();
		h = new int[n];
		for(int i=0;i<n;i++)
			h[i]=sc.nextInt();

		for(int j=n-1;j>0;j--){
			if(h[j]<h[j-1]){
				if(h[j-1]-h[j]==1){
					h[j-1]-=1;
				} else {
					flg=false;
					break;
				}
			}
		}

		// 出力
		if(flg)
			System.out.println("Yes");
		else
			System.out.println("No");
	} n = sc.nextInt() n sc.nextInt() sc.nextInt sc h = new int[n] h new int[n] n for(int i=0;i<n;i++)
			h[i]=sc.nextInt(); int i=0; int i=0; i 0 i<n i n i++ i++ i h[i]=sc.nextInt(); h[i]=sc.nextInt() h[i] h i sc.nextInt() sc.nextInt sc for(int j=n-1;j>0;j--){
			if(h[j]<h[j-1]){
				if(h[j-1]-h[j]==1){
					h[j-1]-=1;
				} else {
					flg=false;
					break;
				}
			}
		} int j=n-1; int j=n-1; j n-1 n 1 j>0 j 0 j-- j-- j {
			if(h[j]<h[j-1]){
				if(h[j-1]-h[j]==1){
					h[j-1]-=1;
				} else {
					flg=false;
					break;
				}
			}
		} {
			if(h[j]<h[j-1]){
				if(h[j-1]-h[j]==1){
					h[j-1]-=1;
				} else {
					flg=false;
					break;
				}
			}
		} if(h[j]<h[j-1]){
				if(h[j-1]-h[j]==1){
					h[j-1]-=1;
				} else {
					flg=false;
					break;
				}
			} h[j]<h[j-1] h[j] h j h[j-1] h j-1 j 1 {
				if(h[j-1]-h[j]==1){
					h[j-1]-=1;
				} else {
					flg=false;
					break;
				}
			} if(h[j-1]-h[j]==1){
					h[j-1]-=1;
				} else {
					flg=false;
					break;
				} h[j-1]-h[j]==1 h[j-1]-h[j] h[j-1] h j-1 j 1 h[j] h j 1 {
					h[j-1]-=1;
				} h[j-1]-=1 h[j-1] h j-1 j 1 1 {
					flg=false;
					break;
				} flg=false flg false break; if(flg)
			System.out.println("Yes");
		else
			System.out.println("No"); flg System.out.println("Yes") System.out.println System.out System System.out "Yes" System.out.println("No") System.out.println System.out System System.out "No" public static void main(String[] args){
		new Main();
	} main {
		new Main();
	} new Main() String[] args args public class Main {
	Scanner sc = new Scanner(System.in);
	int a,b,c,d,e,f,k,l,m,n,x,y,z;
	int ans;
	int[] h;
	boolean flg=true;
	String[] S;

	Main(){
		n = sc.nextInt();
		h = new int[n];
		for(int i=0;i<n;i++)
			h[i]=sc.nextInt();

		for(int j=n-1;j>0;j--){
			if(h[j]<h[j-1]){
				if(h[j-1]-h[j]==1){
					h[j-1]-=1;
				} else {
					flg=false;
					break;
				}
			}
		}

		// 出力
		if(flg)
			System.out.println("Yes");
		else
			System.out.println("No");
	}

	public static void main(String[] args){
		new Main();
	}
} public class Main {
	Scanner sc = new Scanner(System.in);
	int a,b,c,d,e,f,k,l,m,n,x,y,z;
	int ans;
	int[] h;
	boolean flg=true;
	String[] S;

	Main(){
		n = sc.nextInt();
		h = new int[n];
		for(int i=0;i<n;i++)
			h[i]=sc.nextInt();

		for(int j=n-1;j>0;j--){
			if(h[j]<h[j-1]){
				if(h[j-1]-h[j]==1){
					h[j-1]-=1;
				} else {
					flg=false;
					break;
				}
			}
		}

		// 出力
		if(flg)
			System.out.println("Yes");
		else
			System.out.println("No");
	}

	public static void main(String[] args){
		new Main();
	}
} Main
import java.util.*;
public class Main {
	Scanner sc = new Scanner(System.in);
	int a,b,c,d,e,f,k,l,m,n,x,y,z;
	int ans;
	int[] h;
	boolean flg=true;
	String[] S;

	Main(){
		n = sc.nextInt();
		h = new int[n];
		for(int i=0;i<n;i++)
			h[i]=sc.nextInt();

		for(int j=n-1;j>0;j--){
			if(h[j]<h[j-1]){
				if(h[j-1]-h[j]==1){
					h[j-1]-=1;
				} else {
					flg=false;
					break;
				}
			}
		}

		// 出力
		if(flg)
			System.out.println("Yes");
		else
			System.out.println("No");
	}

	public static void main(String[] args){
		new Main();
	}
}