import java.util.*;
public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		int n = sc.nextInt();
     
      long[] h = new long[n];
      for(int i = 0; i < n; i++) {
		h[i] = sc.nextLong();
      }
            
      boolean flg = true;
      for(int i = 0; i < n-1; i++) {
        if(h[i] - h[i+1] >= 2) {
          flg = false;
          break;

        } else if((h[i] - h[i+1]) == 1) {
          h[i]--;
          if(i != 0) {
            if(h[i-1] <= h[i]) {
              // 何もしない
            } else {
              flg = false;
              break;
            }
          }

        } else if ((h[i] - h[i+1]) == 0) {
          if(i != 0) {
            if(h[i-1] == h[i]) {
              // 何もしない
            } else {
              h[i]--;
            }
          } else {
            h[i]--;
          }
        } else if(h[i] - h[i+1] < 0)  {
          // 何もしない
        }
      }

      if(flg) {
        System.out.println("Yes");
      }else {
        System.out.println("No");
        
      }
    }
} import java.util.*; util.* java public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		int n = sc.nextInt();
     
      long[] h = new long[n];
      for(int i = 0; i < n; i++) {
		h[i] = sc.nextLong();
      }
            
      boolean flg = true;
      for(int i = 0; i < n-1; i++) {
        if(h[i] - h[i+1] >= 2) {
          flg = false;
          break;

        } else if((h[i] - h[i+1]) == 1) {
          h[i]--;
          if(i != 0) {
            if(h[i-1] <= h[i]) {
              // 何もしない
            } else {
              flg = false;
              break;
            }
          }

        } else if ((h[i] - h[i+1]) == 0) {
          if(i != 0) {
            if(h[i-1] == h[i]) {
              // 何もしない
            } else {
              h[i]--;
            }
          } else {
            h[i]--;
          }
        } else if(h[i] - h[i+1] < 0)  {
          // 何もしない
        }
      }

      if(flg) {
        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();
     
      long[] h = new long[n];
      for(int i = 0; i < n; i++) {
		h[i] = sc.nextLong();
      }
            
      boolean flg = true;
      for(int i = 0; i < n-1; i++) {
        if(h[i] - h[i+1] >= 2) {
          flg = false;
          break;

        } else if((h[i] - h[i+1]) == 1) {
          h[i]--;
          if(i != 0) {
            if(h[i-1] <= h[i]) {
              // 何もしない
            } else {
              flg = false;
              break;
            }
          }

        } else if ((h[i] - h[i+1]) == 0) {
          if(i != 0) {
            if(h[i-1] == h[i]) {
              // 何もしない
            } else {
              h[i]--;
            }
          } else {
            h[i]--;
          }
        } else if(h[i] - h[i+1] < 0)  {
          // 何もしない
        }
      }

      if(flg) {
        System.out.println("Yes");
      }else {
        System.out.println("No");
        
      }
    } main {
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		int n = sc.nextInt();
     
      long[] h = new long[n];
      for(int i = 0; i < n; i++) {
		h[i] = sc.nextLong();
      }
            
      boolean flg = true;
      for(int i = 0; i < n-1; i++) {
        if(h[i] - h[i+1] >= 2) {
          flg = false;
          break;

        } else if((h[i] - h[i+1]) == 1) {
          h[i]--;
          if(i != 0) {
            if(h[i-1] <= h[i]) {
              // 何もしない
            } else {
              flg = false;
              break;
            }
          }

        } else if ((h[i] - h[i+1]) == 0) {
          if(i != 0) {
            if(h[i-1] == h[i]) {
              // 何もしない
            } else {
              h[i]--;
            }
          } else {
            h[i]--;
          }
        } else if(h[i] - h[i+1] < 0)  {
          // 何もしない
        }
      }

      if(flg) {
        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 long[] h = new long[n]; h new long[n] n for(int i = 0; i < n; i++) {
		h[i] = sc.nextLong();
      } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
		h[i] = sc.nextLong();
      } {
		h[i] = sc.nextLong();
      } h[i] = sc.nextLong() h[i] h i sc.nextLong() sc.nextLong sc boolean flg = true; flg true for(int i = 0; i < n-1; i++) {
        if(h[i] - h[i+1] >= 2) {
          flg = false;
          break;

        } else if((h[i] - h[i+1]) == 1) {
          h[i]--;
          if(i != 0) {
            if(h[i-1] <= h[i]) {
              // 何もしない
            } else {
              flg = false;
              break;
            }
          }

        } else if ((h[i] - h[i+1]) == 0) {
          if(i != 0) {
            if(h[i-1] == h[i]) {
              // 何もしない
            } else {
              h[i]--;
            }
          } else {
            h[i]--;
          }
        } else if(h[i] - h[i+1] < 0)  {
          // 何もしない
        }
      } int i = 0; int i = 0; i 0 i < n-1 i n-1 n 1 i++ i++ i {
        if(h[i] - h[i+1] >= 2) {
          flg = false;
          break;

        } else if((h[i] - h[i+1]) == 1) {
          h[i]--;
          if(i != 0) {
            if(h[i-1] <= h[i]) {
              // 何もしない
            } else {
              flg = false;
              break;
            }
          }

        } else if ((h[i] - h[i+1]) == 0) {
          if(i != 0) {
            if(h[i-1] == h[i]) {
              // 何もしない
            } else {
              h[i]--;
            }
          } else {
            h[i]--;
          }
        } else if(h[i] - h[i+1] < 0)  {
          // 何もしない
        }
      } {
        if(h[i] - h[i+1] >= 2) {
          flg = false;
          break;

        } else if((h[i] - h[i+1]) == 1) {
          h[i]--;
          if(i != 0) {
            if(h[i-1] <= h[i]) {
              // 何もしない
            } else {
              flg = false;
              break;
            }
          }

        } else if ((h[i] - h[i+1]) == 0) {
          if(i != 0) {
            if(h[i-1] == h[i]) {
              // 何もしない
            } else {
              h[i]--;
            }
          } else {
            h[i]--;
          }
        } else if(h[i] - h[i+1] < 0)  {
          // 何もしない
        }
      } if(h[i] - h[i+1] >= 2) {
          flg = false;
          break;

        } else if((h[i] - h[i+1]) == 1) {
          h[i]--;
          if(i != 0) {
            if(h[i-1] <= h[i]) {
              // 何もしない
            } else {
              flg = false;
              break;
            }
          }

        } else if ((h[i] - h[i+1]) == 0) {
          if(i != 0) {
            if(h[i-1] == h[i]) {
              // 何もしない
            } else {
              h[i]--;
            }
          } else {
            h[i]--;
          }
        } else if(h[i] - h[i+1] < 0)  {
          // 何もしない
        } h[i] - h[i+1] >= 2 h[i] - h[i+1] h[i] h i h[i+1] h i+1 i 1 2 {
          flg = false;
          break;

        } flg = false flg false break; if((h[i] - h[i+1]) == 1) {
          h[i]--;
          if(i != 0) {
            if(h[i-1] <= h[i]) {
              // 何もしない
            } else {
              flg = false;
              break;
            }
          }

        } else if ((h[i] - h[i+1]) == 0) {
          if(i != 0) {
            if(h[i-1] == h[i]) {
              // 何もしない
            } else {
              h[i]--;
            }
          } else {
            h[i]--;
          }
        } else if(h[i] - h[i+1] < 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 {
          h[i]--;
          if(i != 0) {
            if(h[i-1] <= h[i]) {
              // 何もしない
            } else {
              flg = false;
              break;
            }
          }

        } h[i]-- h[i] h i if(i != 0) {
            if(h[i-1] <= h[i]) {
              // 何もしない
            } else {
              flg = false;
              break;
            }
          } i != 0 i 0 {
            if(h[i-1] <= h[i]) {
              // 何もしない
            } else {
              flg = false;
              break;
            }
          } if(h[i-1] <= h[i]) {
              // 何もしない
            } else {
              flg = false;
              break;
            } h[i-1] <= h[i] h[i-1] h i-1 i 1 h[i] h i {
              // 何もしない
            } {
              flg = false;
              break;
            } flg = false flg false break; if ((h[i] - h[i+1]) == 0) {
          if(i != 0) {
            if(h[i-1] == h[i]) {
              // 何もしない
            } else {
              h[i]--;
            }
          } else {
            h[i]--;
          }
        } else if(h[i] - h[i+1] < 0)  {
          // 何もしない
        } (h[i] - h[i+1]) == 0 (h[i] - h[i+1]) h[i] h i h[i+1] h i+1 i 1 0 {
          if(i != 0) {
            if(h[i-1] == h[i]) {
              // 何もしない
            } else {
              h[i]--;
            }
          } else {
            h[i]--;
          }
        } if(i != 0) {
            if(h[i-1] == h[i]) {
              // 何もしない
            } else {
              h[i]--;
            }
          } else {
            h[i]--;
          } i != 0 i 0 {
            if(h[i-1] == h[i]) {
              // 何もしない
            } else {
              h[i]--;
            }
          } if(h[i-1] == h[i]) {
              // 何もしない
            } else {
              h[i]--;
            } h[i-1] == h[i] h[i-1] h i-1 i 1 h[i] h i {
              // 何もしない
            } {
              h[i]--;
            } h[i]-- h[i] h i {
            h[i]--;
          } h[i]-- h[i] h i if(h[i] - h[i+1] < 0)  {
          // 何もしない
        } h[i] - h[i+1] < 0 h[i] - h[i+1] h[i] h i h[i+1] h i+1 i 1 0 {
          // 何もしない
        } if(flg) {
        System.out.println("Yes");
      }else {
        System.out.println("No");
        
      } flg {
        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();
     
      long[] h = new long[n];
      for(int i = 0; i < n; i++) {
		h[i] = sc.nextLong();
      }
            
      boolean flg = true;
      for(int i = 0; i < n-1; i++) {
        if(h[i] - h[i+1] >= 2) {
          flg = false;
          break;

        } else if((h[i] - h[i+1]) == 1) {
          h[i]--;
          if(i != 0) {
            if(h[i-1] <= h[i]) {
              // 何もしない
            } else {
              flg = false;
              break;
            }
          }

        } else if ((h[i] - h[i+1]) == 0) {
          if(i != 0) {
            if(h[i-1] == h[i]) {
              // 何もしない
            } else {
              h[i]--;
            }
          } else {
            h[i]--;
          }
        } else if(h[i] - h[i+1] < 0)  {
          // 何もしない
        }
      }

      if(flg) {
        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();
     
      long[] h = new long[n];
      for(int i = 0; i < n; i++) {
		h[i] = sc.nextLong();
      }
            
      boolean flg = true;
      for(int i = 0; i < n-1; i++) {
        if(h[i] - h[i+1] >= 2) {
          flg = false;
          break;

        } else if((h[i] - h[i+1]) == 1) {
          h[i]--;
          if(i != 0) {
            if(h[i-1] <= h[i]) {
              // 何もしない
            } else {
              flg = false;
              break;
            }
          }

        } else if ((h[i] - h[i+1]) == 0) {
          if(i != 0) {
            if(h[i-1] == h[i]) {
              // 何もしない
            } else {
              h[i]--;
            }
          } else {
            h[i]--;
          }
        } else if(h[i] - h[i+1] < 0)  {
          // 何もしない
        }
      }

      if(flg) {
        System.out.println("Yes");
      }else {
        System.out.println("No");
        
      }
    }
} Main
import java.util.*;
public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		int n = sc.nextInt();
     
      long[] h = new long[n];
      for(int i = 0; i < n; i++) {
		h[i] = sc.nextLong();
      }
            
      boolean flg = true;
      for(int i = 0; i < n-1; i++) {
        if(h[i] - h[i+1] >= 2) {
          flg = false;
          break;

        } else if((h[i] - h[i+1]) == 1) {
          h[i]--;
          if(i != 0) {
            if(h[i-1] <= h[i]) {
              // 何もしない
            } else {
              flg = false;
              break;
            }
          }

        } else if ((h[i] - h[i+1]) == 0) {
          if(i != 0) {
            if(h[i-1] == h[i]) {
              // 何もしない
            } else {
              h[i]--;
            }
          } else {
            h[i]--;
          }
        } else if(h[i] - h[i+1] < 0)  {
          // 何もしない
        }
      }

      if(flg) {
        System.out.println("Yes");
      }else {
        System.out.println("No");
        
      }
    }
}
