都说这道题简单,不懂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;
}