public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
Stack<Integer> s=new Stack<>();
int max=0;
boolean flag=true;
for(int i=1;i<=n;i++) {
int x=sc.nextInt();
if(x>max) {
for(int j=max+1;j<=x;j++) {
s.push(j);
}
max=x;
}
if(s.peek()!=x) {
flag=false;
break;
}else {
s.pop();
}
}
if(flag==true)System.out.println("Yes");
else System.out.println("No");
}