#include<iostream> #include<string> #include<algorithm> #include<vector> #include<stack> using namespace std; int main() { int n; cin>>n; vector<int>a(n); for(int i=0; i<n; i++) cin>>a[i]; stack<int>s; bool f=1; int cur=1; for(int i=0; i<n; i++) { while((s.empty())||(s.top()!=a[i]&&cur<=n)) { s.push(cur); cur++; } if(s.empty()||s.top()!=a[i]) { f=0; break; } else { s.pop(); } } if(f) cout<<"YES"<<endl; else cout<<"NO"<<endl; return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题11.8 (C语言代码)浏览:864 |
C二级辅导-同因查找 (C语言代码)浏览:590 |
C语言程序设计教程(第三版)课后习题8.9 (C++代码)浏览:919 |
C语言程序设计教程(第三版)课后习题9.2 (C语言代码)浏览:741 |
【回文数(二)】 (C++代码)浏览:932 |
C语言训练-字符串正反连接 (C语言代码)浏览:664 |
printf基础练习2 (C语言代码)浏览:605 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:686 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:368 |
简单的a+b (C语言代码)浏览:560 |