import 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];
    for(int i = 0;i<n;i++){
      h[i] = sc.nextInt();
    }
    boolean check = false;
    for(int i = n-1;i>0;i--){
      if(h[i-1] > h[i]){
        h[i-1]--;
        if(h[i-1]!=h[i]){
          check = true;
          break;
        }
      }
    }
    if(check){
      System.out.println("No");
    }else{
      System.out.println("Yes");
    }
  }
} import java.util.*; util.* 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 check = false;
    for(int i = n-1;i>0;i--){
      if(h[i-1] > h[i]){
        h[i-1]--;
        if(h[i-1]!=h[i]){
          check = true;
          break;
        }
      }
    }
    if(check){
      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 check = false;
    for(int i = n-1;i>0;i--){
      if(h[i-1] > h[i]){
        h[i-1]--;
        if(h[i-1]!=h[i]){
          check = true;
          break;
        }
      }
    }
    if(check){
      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 check = false;
    for(int i = n-1;i>0;i--){
      if(h[i-1] > h[i]){
        h[i-1]--;
        if(h[i-1]!=h[i]){
          check = true;
          break;
        }
      }
    }
    if(check){
      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 check = false; check false for(int i = n-1;i>0;i--){
      if(h[i-1] > h[i]){
        h[i-1]--;
        if(h[i-1]!=h[i]){
          check = true;
          break;
        }
      }
    } int i = n-1; int i = n-1; i n-1 n 1 i>0 i 0 i-- i-- i {
      if(h[i-1] > h[i]){
        h[i-1]--;
        if(h[i-1]!=h[i]){
          check = true;
          break;
        }
      }
    } {
      if(h[i-1] > h[i]){
        h[i-1]--;
        if(h[i-1]!=h[i]){
          check = true;
          break;
        }
      }
    } if(h[i-1] > h[i]){
        h[i-1]--;
        if(h[i-1]!=h[i]){
          check = true;
          break;
        }
      } h[i-1] > h[i] h[i-1] h i-1 i 1 h[i] h i {
        h[i-1]--;
        if(h[i-1]!=h[i]){
          check = true;
          break;
        }
      } h[i-1]-- h[i-1] h i-1 i 1 if(h[i-1]!=h[i]){
          check = true;
          break;
        } h[i-1]!=h[i] h[i-1] h i-1 i 1 h[i] h i {
          check = true;
          break;
        } check = true check true break; if(check){
      System.out.println("No");
    }else{
      System.out.println("Yes");
    } check {
      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 check = false;
    for(int i = n-1;i>0;i--){
      if(h[i-1] > h[i]){
        h[i-1]--;
        if(h[i-1]!=h[i]){
          check = true;
          break;
        }
      }
    }
    if(check){
      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 check = false;
    for(int i = n-1;i>0;i--){
      if(h[i-1] > h[i]){
        h[i-1]--;
        if(h[i-1]!=h[i]){
          check = true;
          break;
        }
      }
    }
    if(check){
      System.out.println("No");
    }else{
      System.out.println("Yes");
    }
  }
} Main
import 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];
    for(int i = 0;i<n;i++){
      h[i] = sc.nextInt();
    }
    boolean check = false;
    for(int i = n-1;i>0;i--){
      if(h[i-1] > h[i]){
        h[i-1]--;
        if(h[i-1]!=h[i]){
          check = true;
          break;
        }
      }
    }
    if(check){
      System.out.println("No");
    }else{
      System.out.println("Yes");
    }
  }
}
