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();
    }
    //後ろからどん欲に
    for(int i=N-1;i>0;i--){
      if(H[i-1]-H[i]>=2){
        System.out.println("No");
        return;
      }else if(H[i-1]-H[i]==1){
        H[i-1]=H[i-1]-1;
      }else{
        continue;
      }
    }
    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();
    long H[] = new long[N];
    for(int i=0;i<N;i++){
      H[i]=sc.nextLong();
    }
    //後ろからどん欲に
    for(int i=N-1;i>0;i--){
      if(H[i-1]-H[i]>=2){
        System.out.println("No");
        return;
      }else if(H[i-1]-H[i]==1){
        H[i-1]=H[i-1]-1;
      }else{
        continue;
      }
    }
    System.out.println("Yes");
  }
  

  
} 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();
    }
    //後ろからどん欲に
    for(int i=N-1;i>0;i--){
      if(H[i-1]-H[i]>=2){
        System.out.println("No");
        return;
      }else if(H[i-1]-H[i]==1){
        H[i-1]=H[i-1]-1;
      }else{
        continue;
      }
    }
    System.out.println("Yes");
  } 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();
    }
    //後ろからどん欲に
    for(int i=N-1;i>0;i--){
      if(H[i-1]-H[i]>=2){
        System.out.println("No");
        return;
      }else if(H[i-1]-H[i]==1){
        H[i-1]=H[i-1]-1;
      }else{
        continue;
      }
    }
    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 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 for(int i=N-1;i>0;i--){
      if(H[i-1]-H[i]>=2){
        System.out.println("No");
        return;
      }else if(H[i-1]-H[i]==1){
        H[i-1]=H[i-1]-1;
      }else{
        continue;
      }
    } 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]>=2){
        System.out.println("No");
        return;
      }else if(H[i-1]-H[i]==1){
        H[i-1]=H[i-1]-1;
      }else{
        continue;
      }
    } {
      if(H[i-1]-H[i]>=2){
        System.out.println("No");
        return;
      }else if(H[i-1]-H[i]==1){
        H[i-1]=H[i-1]-1;
      }else{
        continue;
      }
    } if(H[i-1]-H[i]>=2){
        System.out.println("No");
        return;
      }else if(H[i-1]-H[i]==1){
        H[i-1]=H[i-1]-1;
      }else{
        continue;
      } H[i-1]-H[i]>=2 H[i-1]-H[i] H[i-1] H i-1 i 1 H[i] H i 2 {
        System.out.println("No");
        return;
      } System.out.println("No") System.out.println System.out System System.out "No" return; if(H[i-1]-H[i]==1){
        H[i-1]=H[i-1]-1;
      }else{
        continue;
      } H[i-1]-H[i]==1 H[i-1]-H[i] H[i-1] H i-1 i 1 H[i] H i 1 {
        H[i-1]=H[i-1]-1;
      } H[i-1]=H[i-1]-1 H[i-1] H i-1 i 1 H[i-1]-1 H[i-1] H i-1 i 1 1 {
        continue;
      } continue; 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();
    long H[] = new long[N];
    for(int i=0;i<N;i++){
      H[i]=sc.nextLong();
    }
    //後ろからどん欲に
    for(int i=N-1;i>0;i--){
      if(H[i-1]-H[i]>=2){
        System.out.println("No");
        return;
      }else if(H[i-1]-H[i]==1){
        H[i-1]=H[i-1]-1;
      }else{
        continue;
      }
    }
    System.out.println("Yes");
  }
  

  
} 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();
    }
    //後ろからどん欲に
    for(int i=N-1;i>0;i--){
      if(H[i-1]-H[i]>=2){
        System.out.println("No");
        return;
      }else if(H[i-1]-H[i]==1){
        H[i-1]=H[i-1]-1;
      }else{
        continue;
      }
    }
    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();
    long H[] = new long[N];
    for(int i=0;i<N;i++){
      H[i]=sc.nextLong();
    }
    //後ろからどん欲に
    for(int i=N-1;i>0;i--){
      if(H[i-1]-H[i]>=2){
        System.out.println("No");
        return;
      }else if(H[i-1]-H[i]==1){
        H[i-1]=H[i-1]-1;
      }else{
        continue;
      }
    }
    System.out.println("Yes");
  }
  

  
}
