铁轨
#include<stdio.h>
const int MAXN=1000+10;
int n,target[MAXN];
int main()
{
while(scanf("%d",&n)==1){
int stk[MAXN], top=0;
for(int i=1;i<=n;i++){
scanf("%d",&target[i]);
}
int A=1, B=1;
int ok=1;
while(B<=n){
if(A==target[B]){
A++;
B++;
}
else if(top&&stk[top]==target[B]){
top--;
B++;
}
else if(A<=n){
stk[++top]=A++;
}
else{
ok=0;
break;
}
}
printf("%s\n",ok?"YES":"NO");
}
return 0;
}