import java.util.*;
public class Main {
	Scanner sc = new Scanner(System.in);
	int a,b,c,d,e,f,k,l,m,n,x,y,z;
	int ans;
	int[] h;
	boolean flg=true;
	String[] S;

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

		for(int j=n-1;j>0;j--){
			if(h[j]<h[j-1]){
				if(h[j-1]-h[j]==1){
					h[j-1]-=1;
				} else {
					flg=false;
					break;
				}
			}
		}

		// 出力
		if(flg)
			System.out.println("Yes");
		else
			System.out.println("No");
	}

	public static void main(String[] args){
		new Main();
	}
}
/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