import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        
        Scanner sc = new Scanner(System.in);
        
        int n = sc.nextInt();
        
        int h;
        int max = 0;
        boolean can = true;
        
        for(int i = 0; i < n; i++){
            h = sc.nextInt();
            if(h <= (max-2)){
                can = false;
                break;
            }else if(h > max){
                max = h;
            }
        }
        
        if(can){
            System.out.println("Yes");
        }else{
            System.out.println("No");
        }
    }
} import java.util.Scanner; Scanner java.util public class Main {

    public static void main(String[] args) {
        
        Scanner sc = new Scanner(System.in);
        
        int n = sc.nextInt();
        
        int h;
        int max = 0;
        boolean can = true;
        
        for(int i = 0; i < n; i++){
            h = sc.nextInt();
            if(h <= (max-2)){
                can = false;
                break;
            }else if(h > max){
                max = h;
            }
        }
        
        if(can){
            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();
        
        int h;
        int max = 0;
        boolean can = true;
        
        for(int i = 0; i < n; i++){
            h = sc.nextInt();
            if(h <= (max-2)){
                can = false;
                break;
            }else if(h > max){
                max = h;
            }
        }
        
        if(can){
            System.out.println("Yes");
        }else{
            System.out.println("No");
        }
    } main {
        
        Scanner sc = new Scanner(System.in);
        
        int n = sc.nextInt();
        
        int h;
        int max = 0;
        boolean can = true;
        
        for(int i = 0; i < n; i++){
            h = sc.nextInt();
            if(h <= (max-2)){
                can = false;
                break;
            }else if(h > max){
                max = h;
            }
        }
        
        if(can){
            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 int h; h int max = 0; max 0 boolean can = true; can true for(int i = 0; i < n; i++){
            h = sc.nextInt();
            if(h <= (max-2)){
                can = false;
                break;
            }else if(h > max){
                max = h;
            }
        } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
            h = sc.nextInt();
            if(h <= (max-2)){
                can = false;
                break;
            }else if(h > max){
                max = h;
            }
        } {
            h = sc.nextInt();
            if(h <= (max-2)){
                can = false;
                break;
            }else if(h > max){
                max = h;
            }
        } h = sc.nextInt() h sc.nextInt() sc.nextInt sc if(h <= (max-2)){
                can = false;
                break;
            }else if(h > max){
                max = h;
            } h <= (max-2) h (max-2) max 2 {
                can = false;
                break;
            } can = false can false break; if(h > max){
                max = h;
            } h > max h max {
                max = h;
            } max = h max h if(can){
            System.out.println("Yes");
        }else{
            System.out.println("No");
        } can {
            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();
        
        int h;
        int max = 0;
        boolean can = true;
        
        for(int i = 0; i < n; i++){
            h = sc.nextInt();
            if(h <= (max-2)){
                can = false;
                break;
            }else if(h > max){
                max = h;
            }
        }
        
        if(can){
            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();
        
        int h;
        int max = 0;
        boolean can = true;
        
        for(int i = 0; i < n; i++){
            h = sc.nextInt();
            if(h <= (max-2)){
                can = false;
                break;
            }else if(h > max){
                max = h;
            }
        }
        
        if(can){
            System.out.println("Yes");
        }else{
            System.out.println("No");
        }
    }
} Main
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        
        Scanner sc = new Scanner(System.in);
        
        int n = sc.nextInt();
        
        int h;
        int max = 0;
        boolean can = true;
        
        for(int i = 0; i < n; i++){
            h = sc.nextInt();
            if(h <= (max-2)){
                can = false;
                break;
            }else if(h > max){
                max = h;
            }
        }
        
        if(can){
            System.out.println("Yes");
        }else{
            System.out.println("No");
        }
    }
}