问题标题: 1752

0
0
已解决
包涵宇
包涵宇
中级天翼
中级天翼

1752

WA 40!!!

#include<iostream>  
#include<cstring> 
#include<stack> 
using namespace std;  
int n,t,maxt,q;
stack <int> s;
int main(){
    cin>>q;
    for(int i=1;i<=q;i++){
        bool f=1;
        cin>>n;
        for(int i=1;i<=n;i++){
            cin>>t;
            for(int j=maxt+1;j<=t;j++)s.push(j);
            if(s.top()==t)s.pop();
            else{
                cout<<"Impossible\n";
                f=0;
                break;
            }
            maxt=max(maxt,t);
        }
        if(f==1)cout<<"Possible\n";
        while(!s.empty())s.pop();
        maxt=0;
    }
    return 0;
}

大佬们速答!!!


0
已采纳
汪恺恒
汪恺恒
中级启示者
中级启示者

第12行

怎么循环变量没变?

0
董子墨
董子墨
中级天翼
中级天翼

输入有问题

因为你是在判断中输入的,所以,如果在输入时break,会导致以后的输入有错

所以,要用一个数组输入

我只知道这有错。我这样改了,但只有50分

我要回答