import java.util.Scanner;

public class Main {

  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    int N = Integer.parseInt(sc.next());

    long[] H = new long[N];
    for (int i = 0; i < N; i++) {
      H[i] = Long.parseLong(sc.next());
    }

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

    System.out.println("Yes");
  }
} import java.util.Scanner; Scanner java.util public class Main {

  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    int N = Integer.parseInt(sc.next());

    long[] H = new long[N];
    for (int i = 0; i < N; i++) {
      H[i] = Long.parseLong(sc.next());
    }

    for (int i = H.length-1; i > 0; i--) {
      if (H[i] < H[i-1]) {
        if (H[i] == H[i-1]-1) {
          H[i-1]--;
        } 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 = Integer.parseInt(sc.next());

    long[] H = new long[N];
    for (int i = 0; i < N; i++) {
      H[i] = Long.parseLong(sc.next());
    }

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

    System.out.println("Yes");
  } main {
    Scanner sc = new Scanner(System.in);

    int N = Integer.parseInt(sc.next());

    long[] H = new long[N];
    for (int i = 0; i < N; i++) {
      H[i] = Long.parseLong(sc.next());
    }

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

    System.out.println("Yes");
  } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = Integer.parseInt(sc.next()); N Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc long[] H = new long[N]; H new long[N] N for (int i = 0; i < N; i++) {
      H[i] = Long.parseLong(sc.next());
    } int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
      H[i] = Long.parseLong(sc.next());
    } {
      H[i] = Long.parseLong(sc.next());
    } H[i] = Long.parseLong(sc.next()) H[i] H i Long.parseLong(sc.next()) Long.parseLong Long sc.next() sc.next sc for (int i = H.length-1; i > 0; i--) {
      if (H[i] < H[i-1]) {
        if (H[i] == H[i-1]-1) {
          H[i-1]--;
        } else {
          System.out.println("No");
          return;
        }
      }
    } int i = H.length-1; int i = H.length-1; i H.length-1 H.length H H.length 1 i > 0 i 0 i-- i-- i {
      if (H[i] < H[i-1]) {
        if (H[i] == H[i-1]-1) {
          H[i-1]--;
        } else {
          System.out.println("No");
          return;
        }
      }
    } {
      if (H[i] < H[i-1]) {
        if (H[i] == H[i-1]-1) {
          H[i-1]--;
        } else {
          System.out.println("No");
          return;
        }
      }
    } if (H[i] < H[i-1]) {
        if (H[i] == H[i-1]-1) {
          H[i-1]--;
        } 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-1]--;
        } else {
          System.out.println("No");
          return;
        }
      } if (H[i] == H[i-1]-1) {
          H[i-1]--;
        } else {
          System.out.println("No");
          return;
        } H[i] == H[i-1]-1 H[i] H i H[i-1]-1 H[i-1] H i-1 i 1 1 {
          H[i-1]--;
        } H[i-1]-- H[i-1] H i-1 i 1 {
          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 = Integer.parseInt(sc.next());

    long[] H = new long[N];
    for (int i = 0; i < N; i++) {
      H[i] = Long.parseLong(sc.next());
    }

    for (int i = H.length-1; i > 0; i--) {
      if (H[i] < H[i-1]) {
        if (H[i] == H[i-1]-1) {
          H[i-1]--;
        } 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 = Integer.parseInt(sc.next());

    long[] H = new long[N];
    for (int i = 0; i < N; i++) {
      H[i] = Long.parseLong(sc.next());
    }

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

    System.out.println("Yes");
  }
} Main
import java.util.Scanner;

public class Main {

  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    int N = Integer.parseInt(sc.next());

    long[] H = new long[N];
    for (int i = 0; i < N; i++) {
      H[i] = Long.parseLong(sc.next());
    }

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

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