1 条题解

  • 0
    @ 2020-07-10 16:50:46

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<algorithm>
    #include<cstring>
    int n,tot,top,a[1005],stack[1005];
    using namespace std;
    int main(void)
    {
        //freopen("test.in","r",stdin);
        //freopen("test.input","w",stdinput);
        cin>>n;
        for(int i=1;i<=n;++i)
        {
            cin>>a[i];
        }
        for(int i=1;i<=n;++i)
        {
            if(a[i]<=tot)
            {
                if(a[i]==stack[top])
                {
                    --top;
                }
                else
                {
                    cout<<"NO"<<endl;
                    return 0;
                }
            }
            else
            {
                for(int j=tot+1;j<=a[i];++j)
                {
                    stack[++top]=j;
                }
                --top;
                tot=a[i];
            }
        }
        cout<<"YES"<<endl;
        return 0;
    }
    
  • 1

信息

难度
4
分类
点击显示
标签
递交数
44
已通过
19
通过率
43%
上传者