1051. Pop Sequence

来源:互联网 发布:mac u盘图标 编辑:程序博客网 时间:2024/06/01 19:26

保持当前遇到的最大值,小于此最大值的最小值,小于等于此最大值的数字个数,当出现一个新的最大值,其右侧(即随后出栈的)比它小的数字是降序的,总个数不能超出容量,复杂度O(n)

#include<iostream>#include<string>using namespace std;int m,n,k,val[2222];int main(){  cin>>m>>n>>k;  while(k--){    int mmax=-1,size,mmin,fail=false;    for(int i=0,tmp;i<n;++i){      cin>>tmp;      if(tmp>mmax)mmax=tmp,size=1,mmin=tmp;      else if(tmp>mmin) fail=true;      else if(size<m) mmin=tmp,++size;      else fail=true;    }//for    cout<<(fail?"NO":"YES")<<endl;  }//while}


0 0
原创粉丝点击