#include<iostream>
#include<stack>
using namespace std;
stack<int>q;
int m, k, n;
int main()
{
scanf("%d%d%d", &m, &n, &k);
while (k--)
{
while (!q.empty())q.pop();
int a[1010];
bool f = true;
for (int i = 0; i<n; i++)
{
scanf("%d", &a[i]);
}
int now = 1, i = 0;
while (i<n)
{
while (now <= a[i] && q.size()<m)q.push(now++);
if (q.empty())break;
int v = q.top();
q.pop();
if (v != a[i])
{
f = false;
break;
}
i++;
}
if (f)printf("YES\n");
else printf("NO\n");
}
return 0;
}
1051 Pop Sequence(25 分)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- Pop Sequence (25)Given a stack which can keep M numbers a...
- 用upper_bound求解 two pointers:i和j都从0开始遍历(不是一个头一个尾),这样一次遍历就可以
- 第7课: TensorFlow中的卷积 CS20si课程资料和代码Github地址 第7课: TensorFlow...