ans

wyz2011 2023-12-09 15:13:18 6 返回题目

using namespace std;
stack<int> k;
int a[10005];
int main(){
	int n,t=1;
	cin>>n;
	for(int i=1;i<=n;i++){
		scanf("%lld",&a[i]);
	}
	for(int i=1;i<=n;i++){
		if(a[i]>=t){
			while(t<=a[i]){
				k.push(t);
				t++;
			}
			k.pop();
		}
		else if(k.top()==a[i]){
			k.pop();
		}
		else{
			printf("NO");
			return 0;
		}
	}
	printf("YES");
	return 0;
}
{{ vote && vote.total.up }}