import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] h = new int[n];
		int[] kk = new int[n];
		for(int i=0;i<n;i++) {
			h[i] = sc.nextInt();
			kk[i] = 0;
		}
		boolean f = true;
		for(int i=0;i<n-1;i++) {
			if(h[i+1]-h[i]>0) {
				h[i+1]--;
				kk[i+1]=1;
			}
			if(h[i]>h[i+1]) {
				if(h[i]-h[i+1]==1 && kk[i] ==0) {
					//OK
					kk[i+1]=1;
				}else {
					f=false;
					break;
				}
			}
			if(h[i]==h[i+1]) {
				kk[i+1]=1;
			}
		}
		if(f) {
			System.out.println("Yes");
		}else {
			System.out.println("No");
		}
	}
} import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] h = new int[n];
		int[] kk = new int[n];
		for(int i=0;i<n;i++) {
			h[i] = sc.nextInt();
			kk[i] = 0;
		}
		boolean f = true;
		for(int i=0;i<n-1;i++) {
			if(h[i+1]-h[i]>0) {
				h[i+1]--;
				kk[i+1]=1;
			}
			if(h[i]>h[i+1]) {
				if(h[i]-h[i+1]==1 && kk[i] ==0) {
					//OK
					kk[i+1]=1;
				}else {
					f=false;
					break;
				}
			}
			if(h[i]==h[i+1]) {
				kk[i+1]=1;
			}
		}
		if(f) {
			System.out.println("Yes");
		}else {
			System.out.println("No");
		}
	}
} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] h = new int[n];
		int[] kk = new int[n];
		for(int i=0;i<n;i++) {
			h[i] = sc.nextInt();
			kk[i] = 0;
		}
		boolean f = true;
		for(int i=0;i<n-1;i++) {
			if(h[i+1]-h[i]>0) {
				h[i+1]--;
				kk[i+1]=1;
			}
			if(h[i]>h[i+1]) {
				if(h[i]-h[i+1]==1 && kk[i] ==0) {
					//OK
					kk[i+1]=1;
				}else {
					f=false;
					break;
				}
			}
			if(h[i]==h[i+1]) {
				kk[i+1]=1;
			}
		}
		if(f) {
			System.out.println("Yes");
		}else {
			System.out.println("No");
		}
	} main {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] h = new int[n];
		int[] kk = new int[n];
		for(int i=0;i<n;i++) {
			h[i] = sc.nextInt();
			kk[i] = 0;
		}
		boolean f = true;
		for(int i=0;i<n-1;i++) {
			if(h[i+1]-h[i]>0) {
				h[i+1]--;
				kk[i+1]=1;
			}
			if(h[i]>h[i+1]) {
				if(h[i]-h[i+1]==1 && kk[i] ==0) {
					//OK
					kk[i+1]=1;
				}else {
					f=false;
					break;
				}
			}
			if(h[i]==h[i+1]) {
				kk[i+1]=1;
			}
		}
		if(f) {
			System.out.println("Yes");
		}else {
			System.out.println("No");
		}
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc int[] h = new int[n]; h new int[n] n int[] kk = new int[n]; kk new int[n] n for(int i=0;i<n;i++) {
			h[i] = sc.nextInt();
			kk[i] = 0;
		} int i=0; int i=0; i 0 i<n i n i++ i++ i {
			h[i] = sc.nextInt();
			kk[i] = 0;
		} {
			h[i] = sc.nextInt();
			kk[i] = 0;
		} h[i] = sc.nextInt() h[i] h i sc.nextInt() sc.nextInt sc kk[i] = 0 kk[i] kk i 0 boolean f = true; f true for(int i=0;i<n-1;i++) {
			if(h[i+1]-h[i]>0) {
				h[i+1]--;
				kk[i+1]=1;
			}
			if(h[i]>h[i+1]) {
				if(h[i]-h[i+1]==1 && kk[i] ==0) {
					//OK
					kk[i+1]=1;
				}else {
					f=false;
					break;
				}
			}
			if(h[i]==h[i+1]) {
				kk[i+1]=1;
			}
		} int i=0; int i=0; i 0 i<n-1 i n-1 n 1 i++ i++ i {
			if(h[i+1]-h[i]>0) {
				h[i+1]--;
				kk[i+1]=1;
			}
			if(h[i]>h[i+1]) {
				if(h[i]-h[i+1]==1 && kk[i] ==0) {
					//OK
					kk[i+1]=1;
				}else {
					f=false;
					break;
				}
			}
			if(h[i]==h[i+1]) {
				kk[i+1]=1;
			}
		} {
			if(h[i+1]-h[i]>0) {
				h[i+1]--;
				kk[i+1]=1;
			}
			if(h[i]>h[i+1]) {
				if(h[i]-h[i+1]==1 && kk[i] ==0) {
					//OK
					kk[i+1]=1;
				}else {
					f=false;
					break;
				}
			}
			if(h[i]==h[i+1]) {
				kk[i+1]=1;
			}
		} if(h[i+1]-h[i]>0) {
				h[i+1]--;
				kk[i+1]=1;
			} h[i+1]-h[i]>0 h[i+1]-h[i] h[i+1] h i+1 i 1 h[i] h i 0 {
				h[i+1]--;
				kk[i+1]=1;
			} h[i+1]-- h[i+1] h i+1 i 1 kk[i+1]=1 kk[i+1] kk i+1 i 1 1 if(h[i]>h[i+1]) {
				if(h[i]-h[i+1]==1 && kk[i] ==0) {
					//OK
					kk[i+1]=1;
				}else {
					f=false;
					break;
				}
			} h[i]>h[i+1] h[i] h i h[i+1] h i+1 i 1 {
				if(h[i]-h[i+1]==1 && kk[i] ==0) {
					//OK
					kk[i+1]=1;
				}else {
					f=false;
					break;
				}
			} if(h[i]-h[i+1]==1 && kk[i] ==0) {
					//OK
					kk[i+1]=1;
				}else {
					f=false;
					break;
				} h[i]-h[i+1]==1 && kk[i] ==0 h[i]-h[i+1]==1 h[i]-h[i+1] h[i] h i h[i+1] h i+1 i 1 1 kk[i] ==0 kk[i] kk i 0 {
					//OK
					kk[i+1]=1;
				} kk[i+1]=1 kk[i+1] kk i+1 i 1 1 {
					f=false;
					break;
				} f=false f false break; if(h[i]==h[i+1]) {
				kk[i+1]=1;
			} h[i]==h[i+1] h[i] h i h[i+1] h i+1 i 1 {
				kk[i+1]=1;
			} kk[i+1]=1 kk[i+1] kk i+1 i 1 1 if(f) {
			System.out.println("Yes");
		}else {
			System.out.println("No");
		} f {
			System.out.println("Yes");
		} System.out.println("Yes") System.out.println System.out System System.out "Yes" {
			System.out.println("No");
		} System.out.println("No") System.out.println System.out System System.out "No" String[] args args public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] h = new int[n];
		int[] kk = new int[n];
		for(int i=0;i<n;i++) {
			h[i] = sc.nextInt();
			kk[i] = 0;
		}
		boolean f = true;
		for(int i=0;i<n-1;i++) {
			if(h[i+1]-h[i]>0) {
				h[i+1]--;
				kk[i+1]=1;
			}
			if(h[i]>h[i+1]) {
				if(h[i]-h[i+1]==1 && kk[i] ==0) {
					//OK
					kk[i+1]=1;
				}else {
					f=false;
					break;
				}
			}
			if(h[i]==h[i+1]) {
				kk[i+1]=1;
			}
		}
		if(f) {
			System.out.println("Yes");
		}else {
			System.out.println("No");
		}
	}
} public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] h = new int[n];
		int[] kk = new int[n];
		for(int i=0;i<n;i++) {
			h[i] = sc.nextInt();
			kk[i] = 0;
		}
		boolean f = true;
		for(int i=0;i<n-1;i++) {
			if(h[i+1]-h[i]>0) {
				h[i+1]--;
				kk[i+1]=1;
			}
			if(h[i]>h[i+1]) {
				if(h[i]-h[i+1]==1 && kk[i] ==0) {
					//OK
					kk[i+1]=1;
				}else {
					f=false;
					break;
				}
			}
			if(h[i]==h[i+1]) {
				kk[i+1]=1;
			}
		}
		if(f) {
			System.out.println("Yes");
		}else {
			System.out.println("No");
		}
	}
} Main
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] h = new int[n];
		int[] kk = new int[n];
		for(int i=0;i<n;i++) {
			h[i] = sc.nextInt();
			kk[i] = 0;
		}
		boolean f = true;
		for(int i=0;i<n-1;i++) {
			if(h[i+1]-h[i]>0) {
				h[i+1]--;
				kk[i+1]=1;
			}
			if(h[i]>h[i+1]) {
				if(h[i]-h[i+1]==1 && kk[i] ==0) {
					//OK
					kk[i+1]=1;
				}else {
					f=false;
					break;
				}
			}
			if(h[i]==h[i+1]) {
				kk[i+1]=1;
			}
		}
		if(f) {
			System.out.println("Yes");
		}else {
			System.out.println("No");
		}
	}
}