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

        int max = 1;

        for(int i = 0; i < n; i++){
            if(h[i] > max){
                max = h[i];
            } else if(max - h[i] > 1){
                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();
        }

        int max = 1;

        for(int i = 0; i < n; i++){
            if(h[i] > max){
                max = h[i];
            } else if(max - h[i] > 1){
                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();
        }

        int max = 1;

        for(int i = 0; i < n; i++){
            if(h[i] > max){
                max = h[i];
            } else if(max - h[i] > 1){
                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();
        }

        int max = 1;

        for(int i = 0; i < n; i++){
            if(h[i] > max){
                max = h[i];
            } else if(max - h[i] > 1){
                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 int max = 1; max 1 for(int i = 0; i < n; i++){
            if(h[i] > max){
                max = h[i];
            } else if(max - h[i] > 1){
                System.out.println("No");
                return;
            }
        } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
            if(h[i] > max){
                max = h[i];
            } else if(max - h[i] > 1){
                System.out.println("No");
                return;
            }
        } {
            if(h[i] > max){
                max = h[i];
            } else if(max - h[i] > 1){
                System.out.println("No");
                return;
            }
        } if(h[i] > max){
                max = h[i];
            } else if(max - h[i] > 1){
                System.out.println("No");
                return;
            } h[i] > max h[i] h i max {
                max = h[i];
            } max = h[i] max h[i] h i if(max - h[i] > 1){
                System.out.println("No");
                return;
            } max - h[i] > 1 max - h[i] max h[i] h 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 = sc.nextInt();

        int[] h = new int[n];
        for(int i = 0; i < n; i++){
            h[i] = sc.nextInt();
        }

        int max = 1;

        for(int i = 0; i < n; i++){
            if(h[i] > max){
                max = h[i];
            } else if(max - h[i] > 1){
                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();
        }

        int max = 1;

        for(int i = 0; i < n; i++){
            if(h[i] > max){
                max = h[i];
            } else if(max - h[i] > 1){
                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();
        }

        int max = 1;

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


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