import java.util.*;
import java.lang.*;

public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] h = new int[n];
		for (int i = 0; i < n; i++) {
			h[i] = sc.nextInt();
		}
		boolean bre = false;
		int last = h[n - 1];
		for (int i = n - 2; i >= 0; i--) {
			if (h[i] - last > 1) {
				bre = true;
				break;
			} else if (h[i] - last == 1) {
				last = h[i] - 1;
			} else {
				last = h[i];
			}
		}
		if (bre) {
			System.out.println("No");
		} else {
			System.out.println("Yes");
		}
	}
} import java.util.*; util.* java import java.lang.*; lang.* java public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] h = new int[n];
		for (int i = 0; i < n; i++) {
			h[i] = sc.nextInt();
		}
		boolean bre = false;
		int last = h[n - 1];
		for (int i = n - 2; i >= 0; i--) {
			if (h[i] - last > 1) {
				bre = true;
				break;
			} else if (h[i] - last == 1) {
				last = h[i] - 1;
			} else {
				last = h[i];
			}
		}
		if (bre) {
			System.out.println("No");
		} else {
			System.out.println("Yes");
		}
	}
} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] h = new int[n];
		for (int i = 0; i < n; i++) {
			h[i] = sc.nextInt();
		}
		boolean bre = false;
		int last = h[n - 1];
		for (int i = n - 2; i >= 0; i--) {
			if (h[i] - last > 1) {
				bre = true;
				break;
			} else if (h[i] - last == 1) {
				last = h[i] - 1;
			} else {
				last = h[i];
			}
		}
		if (bre) {
			System.out.println("No");
		} else {
			System.out.println("Yes");
		}
	} main {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] h = new int[n];
		for (int i = 0; i < n; i++) {
			h[i] = sc.nextInt();
		}
		boolean bre = false;
		int last = h[n - 1];
		for (int i = n - 2; i >= 0; i--) {
			if (h[i] - last > 1) {
				bre = true;
				break;
			} else if (h[i] - last == 1) {
				last = h[i] - 1;
			} else {
				last = h[i];
			}
		}
		if (bre) {
			System.out.println("No");
		} else {
			System.out.println("Yes");
		}
	} 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 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] = sc.nextInt() h[i] h i sc.nextInt() sc.nextInt sc boolean bre = false; bre false int last = h[n - 1]; last h[n - 1] h n - 1 n 1 for (int i = n - 2; i >= 0; i--) {
			if (h[i] - last > 1) {
				bre = true;
				break;
			} else if (h[i] - last == 1) {
				last = h[i] - 1;
			} else {
				last = h[i];
			}
		} int i = n - 2; int i = n - 2; i n - 2 n 2 i >= 0 i 0 i-- i-- i {
			if (h[i] - last > 1) {
				bre = true;
				break;
			} else if (h[i] - last == 1) {
				last = h[i] - 1;
			} else {
				last = h[i];
			}
		} {
			if (h[i] - last > 1) {
				bre = true;
				break;
			} else if (h[i] - last == 1) {
				last = h[i] - 1;
			} else {
				last = h[i];
			}
		} if (h[i] - last > 1) {
				bre = true;
				break;
			} else if (h[i] - last == 1) {
				last = h[i] - 1;
			} else {
				last = h[i];
			} h[i] - last > 1 h[i] - last h[i] h i last 1 {
				bre = true;
				break;
			} bre = true bre true break; if (h[i] - last == 1) {
				last = h[i] - 1;
			} else {
				last = h[i];
			} h[i] - last == 1 h[i] - last h[i] h i last 1 {
				last = h[i] - 1;
			} last = h[i] - 1 last h[i] - 1 h[i] h i 1 {
				last = h[i];
			} last = h[i] last h[i] h i if (bre) {
			System.out.println("No");
		} else {
			System.out.println("Yes");
		} bre {
			System.out.println("No");
		} System.out.println("No") System.out.println System.out System System.out "No" {
			System.out.println("Yes");
		} System.out.println("Yes") System.out.println System.out System System.out "Yes" 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];
		for (int i = 0; i < n; i++) {
			h[i] = sc.nextInt();
		}
		boolean bre = false;
		int last = h[n - 1];
		for (int i = n - 2; i >= 0; i--) {
			if (h[i] - last > 1) {
				bre = true;
				break;
			} else if (h[i] - last == 1) {
				last = h[i] - 1;
			} else {
				last = h[i];
			}
		}
		if (bre) {
			System.out.println("No");
		} else {
			System.out.println("Yes");
		}
	}
} public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] h = new int[n];
		for (int i = 0; i < n; i++) {
			h[i] = sc.nextInt();
		}
		boolean bre = false;
		int last = h[n - 1];
		for (int i = n - 2; i >= 0; i--) {
			if (h[i] - last > 1) {
				bre = true;
				break;
			} else if (h[i] - last == 1) {
				last = h[i] - 1;
			} else {
				last = h[i];
			}
		}
		if (bre) {
			System.out.println("No");
		} else {
			System.out.println("Yes");
		}
	}
} Main
import java.util.*;
import java.lang.*;

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