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();
    }

    sc.close();

    for (int i = N-2; 0 <= i; i--) {

      if (H[i] > H[i+1]) {
        if (H[i] - H[i+1] == 1) {
          H[i]--;
        } else {
          System.out.println("No");
          return;
        }
      }
    }

    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();
    }

    sc.close();

    for (int i = N-2; 0 <= i; i--) {

      if (H[i] > H[i+1]) {
        if (H[i] - H[i+1] == 1) {
          H[i]--;
        } else {
          System.out.println("No");
          return;
        }
      }
    }

    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();
    }

    sc.close();

    for (int i = N-2; 0 <= i; i--) {

      if (H[i] > H[i+1]) {
        if (H[i] - H[i+1] == 1) {
          H[i]--;
        } else {
          System.out.println("No");
          return;
        }
      }
    }

    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();
    }

    sc.close();

    for (int i = N-2; 0 <= i; i--) {

      if (H[i] > H[i+1]) {
        if (H[i] - H[i+1] == 1) {
          H[i]--;
        } else {
          System.out.println("No");
          return;
        }
      }
    }

    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 sc.close() sc.close sc for (int i = N-2; 0 <= i; i--) {

      if (H[i] > H[i+1]) {
        if (H[i] - H[i+1] == 1) {
          H[i]--;
        } else {
          System.out.println("No");
          return;
        }
      }
    } int i = N-2; int i = N-2; i N-2 N 2 0 <= i 0 i i-- i-- i {

      if (H[i] > H[i+1]) {
        if (H[i] - H[i+1] == 1) {
          H[i]--;
        } else {
          System.out.println("No");
          return;
        }
      }
    } {

      if (H[i] > H[i+1]) {
        if (H[i] - H[i+1] == 1) {
          H[i]--;
        } else {
          System.out.println("No");
          return;
        }
      }
    } if (H[i] > H[i+1]) {
        if (H[i] - H[i+1] == 1) {
          H[i]--;
        } else {
          System.out.println("No");
          return;
        }
      } H[i] > H[i+1] H[i] H i H[i+1] H i+1 i 1 {
        if (H[i] - H[i+1] == 1) {
          H[i]--;
        } else {
          System.out.println("No");
          return;
        }
      } if (H[i] - H[i+1] == 1) {
          H[i]--;
        } else {
          System.out.println("No");
          return;
        } 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]--;
        } H[i]-- H[i] H i {
          System.out.println("No");
          return;
        } System.out.println("No") System.out.println System.out System System.out "No" return; 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();
    }

    sc.close();

    for (int i = N-2; 0 <= i; i--) {

      if (H[i] > H[i+1]) {
        if (H[i] - H[i+1] == 1) {
          H[i]--;
        } else {
          System.out.println("No");
          return;
        }
      }
    }

    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();
    }

    sc.close();

    for (int i = N-2; 0 <= i; i--) {

      if (H[i] > H[i+1]) {
        if (H[i] - H[i+1] == 1) {
          H[i]--;
        } else {
          System.out.println("No");
          return;
        }
      }
    }

    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();
    }

    sc.close();

    for (int i = N-2; 0 <= i; i--) {

      if (H[i] > H[i+1]) {
        if (H[i] - H[i+1] == 1) {
          H[i]--;
        } else {
          System.out.println("No");
          return;
        }
      }
    }

    System.out.println("Yes");
    
  }

}