2019 第四届CCCC 彩虹瓶

都说这道题简单,不懂STL里面是什么玄学东西

用临时变量存就是10分,要用数组存。 懂的大哥留言告知一哈

#include <bits/stdc++.h>
using namespace std;

int main() {
	int n,m,k,flag;
	int a[1005];
	scanf("%d %d %d",&n,&m,&k);
	while(k--){
		flag = 0;
		int t,l=1;
		stack<int> q;
		//while(!q.empty())q.pop();
		for(int i=0;i<n;i++){
//			scanf("%d",&t);
			scanf("%d",&a[i]);
			}
		for(int i=0;i<n;i++){
		 if(a[i]==l){
				l++;
				while(!q.empty()&&q.top()==l)
				{
						l++;
						q.pop();					
				}
			}else {//14
				q.push(a[i]);
				if(q.size()>m){
					flag = 1;
					break;
				}
			}
		}
	

	if(flag||q.size()>0)
	  printf("NO\n");
	  else printf("YES\n");

	
	}

	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_41603898/article/details/88924565