AC代码
#include<cstdio>
#include<stack>
using namespace std;
int main()
{
int m,n,k;
scanf("%d%d%d",&m,&n,&k);
while(k--)
{
int num[n],temp=1;
for(int i=0;i<n;i++) scanf("%d",&num[i]);
stack<int> s;
s.push(1);
for(int i=0;i<n;i++)
{
if(s.size()==0) s.push(++temp);
int top=s.top();
if(num[i]==s.top())
{
s.pop();
}
else if(num[i]>top)
{
for(int j=temp+1;j<=num[i]&&s.size()<m;j++)
{
s.push(j);
temp=j;
}
if(s.top()==num[i]) s.pop();
else break;
}
else{
break;
}
}
if(s.size()!=0) printf("NO\n");
else printf("YES\n");
}
return 0;
}