using namespace std;
stack<int> k;
int a[10005];
int main(){
int n,t=1;
cin>>n;
for(int i=1;i<=n;i++){
scanf("%lld",&a[i]);
}
for(int i=1;i<=n;i++){
if(a[i]>=t){
while(t<=a[i]){
k.push(t);
t++;
}
k.pop();
}
else if(k.top()==a[i]){
k.pop();
}
else{
printf("NO");
return 0;
}
}
printf("YES");
return 0;
}