贴心AC

许诺  •  1个月前


小小AC

#include <iostream>
#include <stack>
#include <vector>

using namespace std;

int main() {
	int n;
	cin >> n;
	vector<int> target(n);
	for (int i = 0; i < n; ++i) {
    	cin >> target[i];
	}
	stack<int> st;
	int current = 0;

	for (int i = 1; i <= n; ++i) {
    	st.push(i);
    	while (!st.empty() && st.top() == target[current]) {
        	st.pop();
        	current++;
    	}
	}

	if (current == n) {
    	cout << "YES" << endl;
	} else {
    	cout << "NO" << endl;
	}

	return 0;
}

评论:

请先登录,才能进行评论