import java.util.Scanner;

class Main{
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int N=sc.nextInt();
		int[] p=new int[N];
		for(int i=0; i<N; i++) {
			p[i]=sc.nextInt();
		}
		p[0]--;
		if(N==1) {
			p("Yes");
			System.exit(0);
		}
		else {
			for(int i=1; i<N; i++) {
				if(p[i]>p[i-1]) {
					p[i]--;
				}
				else if(p[i]==p[i-1]) {
					//
				}
				else if(p[i]<p[i-1]) {
					p("No");
					System.exit(0);
				}
			}
			p("Yes");
		}


	}
	public static void p(Object o) {
		System.out.println(o);
	}
} import java.util.Scanner; Scanner java.util class Main{
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int N=sc.nextInt();
		int[] p=new int[N];
		for(int i=0; i<N; i++) {
			p[i]=sc.nextInt();
		}
		p[0]--;
		if(N==1) {
			p("Yes");
			System.exit(0);
		}
		else {
			for(int i=1; i<N; i++) {
				if(p[i]>p[i-1]) {
					p[i]--;
				}
				else if(p[i]==p[i-1]) {
					//
				}
				else if(p[i]<p[i-1]) {
					p("No");
					System.exit(0);
				}
			}
			p("Yes");
		}


	}
	public static void p(Object o) {
		System.out.println(o);
	}
} Main public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int N=sc.nextInt();
		int[] p=new int[N];
		for(int i=0; i<N; i++) {
			p[i]=sc.nextInt();
		}
		p[0]--;
		if(N==1) {
			p("Yes");
			System.exit(0);
		}
		else {
			for(int i=1; i<N; i++) {
				if(p[i]>p[i-1]) {
					p[i]--;
				}
				else if(p[i]==p[i-1]) {
					//
				}
				else if(p[i]<p[i-1]) {
					p("No");
					System.exit(0);
				}
			}
			p("Yes");
		}


	} main {
		Scanner sc=new Scanner(System.in);
		int N=sc.nextInt();
		int[] p=new int[N];
		for(int i=0; i<N; i++) {
			p[i]=sc.nextInt();
		}
		p[0]--;
		if(N==1) {
			p("Yes");
			System.exit(0);
		}
		else {
			for(int i=1; i<N; i++) {
				if(p[i]>p[i-1]) {
					p[i]--;
				}
				else if(p[i]==p[i-1]) {
					//
				}
				else if(p[i]<p[i-1]) {
					p("No");
					System.exit(0);
				}
			}
			p("Yes");
		}


	} Scanner sc=new Scanner(System.in); sc new Scanner(System.in) int N=sc.nextInt(); N sc.nextInt() sc.nextInt sc int[] p=new int[N]; p new int[N] N for(int i=0; i<N; i++) {
			p[i]=sc.nextInt();
		} int i=0; int i=0; i 0 i<N i N i++ i++ i {
			p[i]=sc.nextInt();
		} {
			p[i]=sc.nextInt();
		} p[i]=sc.nextInt() p[i] p i sc.nextInt() sc.nextInt sc p[0]-- p[0] p 0 if(N==1) {
			p("Yes");
			System.exit(0);
		}
		else {
			for(int i=1; i<N; i++) {
				if(p[i]>p[i-1]) {
					p[i]--;
				}
				else if(p[i]==p[i-1]) {
					//
				}
				else if(p[i]<p[i-1]) {
					p("No");
					System.exit(0);
				}
			}
			p("Yes");
		} N==1 N 1 {
			p("Yes");
			System.exit(0);
		} p("Yes") p "Yes" System.exit(0) System.exit System 0 {
			for(int i=1; i<N; i++) {
				if(p[i]>p[i-1]) {
					p[i]--;
				}
				else if(p[i]==p[i-1]) {
					//
				}
				else if(p[i]<p[i-1]) {
					p("No");
					System.exit(0);
				}
			}
			p("Yes");
		} for(int i=1; i<N; i++) {
				if(p[i]>p[i-1]) {
					p[i]--;
				}
				else if(p[i]==p[i-1]) {
					//
				}
				else if(p[i]<p[i-1]) {
					p("No");
					System.exit(0);
				}
			} int i=1; int i=1; i 1 i<N i N i++ i++ i {
				if(p[i]>p[i-1]) {
					p[i]--;
				}
				else if(p[i]==p[i-1]) {
					//
				}
				else if(p[i]<p[i-1]) {
					p("No");
					System.exit(0);
				}
			} {
				if(p[i]>p[i-1]) {
					p[i]--;
				}
				else if(p[i]==p[i-1]) {
					//
				}
				else if(p[i]<p[i-1]) {
					p("No");
					System.exit(0);
				}
			} if(p[i]>p[i-1]) {
					p[i]--;
				}
				else if(p[i]==p[i-1]) {
					//
				}
				else if(p[i]<p[i-1]) {
					p("No");
					System.exit(0);
				} p[i]>p[i-1] p[i] p i p[i-1] p i-1 i 1 {
					p[i]--;
				} p[i]-- p[i] p i if(p[i]==p[i-1]) {
					//
				}
				else if(p[i]<p[i-1]) {
					p("No");
					System.exit(0);
				} p[i]==p[i-1] p[i] p i p[i-1] p i-1 i 1 {
					//
				} if(p[i]<p[i-1]) {
					p("No");
					System.exit(0);
				} p[i]<p[i-1] p[i] p i p[i-1] p i-1 i 1 {
					p("No");
					System.exit(0);
				} p("No") p "No" System.exit(0) System.exit System 0 p("Yes") p "Yes" String[] args args public static void p(Object o) {
		System.out.println(o);
	} p {
		System.out.println(o);
	} System.out.println(o) System.out.println System.out System System.out o Object o o
import java.util.Scanner;

class Main{
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int N=sc.nextInt();
		int[] p=new int[N];
		for(int i=0; i<N; i++) {
			p[i]=sc.nextInt();
		}
		p[0]--;
		if(N==1) {
			p("Yes");
			System.exit(0);
		}
		else {
			for(int i=1; i<N; i++) {
				if(p[i]>p[i-1]) {
					p[i]--;
				}
				else if(p[i]==p[i-1]) {
					//
				}
				else if(p[i]<p[i-1]) {
					p("No");
					System.exit(0);
				}
			}
			p("Yes");
		}


	}
	public static void p(Object o) {
		System.out.println(o);
	}
}