import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        ArrayList<Integer> hl = new ArrayList<>();
        int prev = Integer.MAX_VALUE;
        for(int i = 0; i < n; i++){
            hl.add(sc.nextInt());
        }
        Collections.reverse(hl);
        for(int i = 0; i < n; i++){
            int now = hl.get(i);
            if(prev >= now){
                prev = now;
            }else if(prev+1 == now){
                continue;
            }else{
                System.out.println("No");
                return;
            }
        }
        System.out.println("Yes");
    }
}

/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz