1 条题解
-
0
思路
升序输入车厢至缓存栈,目标排列可达性,不能只判断前缀最大值或整体逆序。
参考程序(C++11)
#include <bits/stdc++.h> using namespace std; int main(){int n;cin>>n;vector<int>st;int next=1;bool ok=true;for(int i=0;i<n;i++){int x;cin>>x;while(next<=x)st.push_back(next++);if(st.empty()||st.back()!=x)ok=false;else st.pop_back();}cout<<(ok?"YES":"NO")<<'\n';}
- 1