L2-032 彩虹瓶(团体程序设计天梯赛-练习集)

link

#include <bits/stdc++.h>

using namespace std;

const int MAXN = 1100;

int n, m, k;
int st[MAXN];

int main(){
    cin >> n >> m >> k;

    while(k--){
        int flag = 0;
        int cnt = 1, cur = 0;
        for(int i = 1; i <= n; i++){
            int x;
            cin >> x;
            if(x == cnt){
                cnt++;
                while(cur != 0 && st[cur] == cnt){
                    cnt++;
                    cur--;
                }
            }else{
                st[++cur] = x;
                if(cur > m) flag = 1;
            }
        }
    
        if(flag || cur) puts("NO");
        else puts("YES");
    }
    
    return 0;
}
posted @ 2025-03-06 20:53  awei040519  阅读(12)  评论(0)    收藏  举报