C++ 校验编号序列

C++ 校验编号序列,c++,C++,给S一个n个整数的序列,即S=s1,s2,…,sn。计算是否可以将S分为两部分:s1、s2、…、si和si+1、si+2、…、sn(0它是如何失败的?哪个测试用例?你得到了什么输出?将其添加到你的问题中调试你的代码并检查在中断时发生了什么;。(c>p)的逻辑与(c@Bhuvnesh班萨尔,你能解释一下为什么这个序列598456会产生真的结果,而这个序列3877会产生假的结果吗。 5 9 8 4 5 6 true 3 1 2 3 true 3 8 7 7 false 6 8 7 6 5

给S一个n个整数的序列,即S=s1,s2,…,sn。计算是否可以将S分为两部分:s1、s2、…、si和si+1、si+2、…、sn(0它是如何失败的?哪个测试用例?你得到了什么输出?将其添加到你的问题中调试你的代码并检查在
中断时发生了什么;
。(c>p)的逻辑与(c@Bhuvnesh班萨尔,你能解释一下为什么这个序列598456会产生真的结果,而这个序列3877会产生假的结果吗。
5
9
8
4
5
6
true
3
1
2
3
true
3
8
7
7
false
6
8
7
6
5
8
2
false
    #include<iostream>
    using namespace std;

int main() {
    
    int n;
    cin >> n;
    int p;
    cin >> p;
    bool isDec = true;
    int i = 1,c;
    while(i <= n - 1){
        cin >> c;
        
        if(c > p){
            if(isDec == true){
            isDec = false;
            }
            isDec = true;
            p = c; 
        } else if(c < p){
            if(isDec == false){
            isDec = false;
            }
            isDec  = true;
            p = c;
        } else {
            isDec = false;
            break;
        }
        
        i++;
    }
    
    if(isDec){
    cout << "true" << endl;
    } else{
        cout << "false" << endl;
    }
}