//stack模拟
#include<iostream>
#include<cstdio>
#include<sstream>
#include<cmath>
#include<cstring>
#include<cctype>
#include<algorithm>
#include<vector>
#include<set>
#include<map>
#include<queue>
#include<deque>
#include<stack>
using namespace std;
const int maxn=1000+5;
stack<int> stk;
int p[maxn];
void clr(){
while(!stk.empty())
stk.pop();
}
int main(){
int T;
while(cin>>T&&T){
while(cin>>p[0]&&p[0]){
clr();
for(int i=1;i<T;i++)
cin>>p[i];
int ans=0;
for(int i=1;i<=T;i++){
stk.push(i);
while(!stk.empty()&&stk.top()==p[ans])
stk.pop(),ans++;
}
if(!stk.empty())
cout<<"No"<<endl;
else
cout<<"Yes"<<endl;
}
cout<<endl;
}
return 0;
}
UVA - 514
最新推荐文章于 2022-11-05 15:22:23 发布