厳格に減少してから増加するか、厳格に減少するか、厳格に増加するシーケンスをチェックする

数字のシーケンスを確認する
n個の整数を並べたシーケンスSが与えられています。つまり、S = s1、s2、...、snです。s1、s2、...、siとsi+1、si+2、...、sn(0 ≦ i ≦ n)という二つのパートにSを分割することができるかどうかを計算してください。ただし、最初のパートは厳格に減少し、二番目のパートは厳格に増加している必要があります。
注意:xがyより厳格に大きいとは、x > yのときを言います。
したがって、厳格に増加するシーケンスは1 4 8のようになります。しかしながら、1 4 4は厳格に増加するシーケンスではありません。

つまり、シーケンスの数字が減少している場合、ある地点で増加し始める可能性があります。そして、一度数字のシーケンスが増加し始めると、それ以上どこでも減少することはできません。
厳格に増加する数字だけ、または厳格に減少する数字だけから構成されるシーケンスも有効なシーケンスです。そのため、どちらのケースもtrueを出力してください。

単純にtrueかfalseを出力するだけで良く、シーケンスを分割する必要はありません。
入力フォーマット:
行1:整数'n'
行2以降:'n'行に渡る'n'個の整数(それぞれの行に1つの整数)
出力フォーマット:
"true"または"false"(引用符なし)
制約:
1 ≦ n ≦ 10^7
サンプル入力1:
5
9
8
4
5
6
サンプル出力1:
true
サンプル入力2:
3
1
2
3
サンプル出力2:
true
サンプル入力3:
3
8
7
7
サンプル出力3:
false
サンプルフォーマット3の説明:
8 7 7は厳格に減少していないため、出力はfalseです。
サンプル入力4:
6
8
7
6
5
8
2
サンプル出力4:
false
サンプル入力4の説明:
このシリーズは次の通りです:
8 7 6 5 8 2
これは最初に厳格に減少します(8 7 6 5)。その後、厳格に増加します(5 8)。しかし、再び厳格に減少し始めます(8 2)。したがって、このテストケースの出力は'false'です

解答

#include<iostream>
using namespace std;

int main() {

    int n;
    cin>>n;
    bool a;
    int count=0;

    int num[n];

    for(int i=0;i<n;i++)
    {
        cin>>num[i];
    }


    for(int i=0;i<n;i++)
    {
        if(num[i]>num[i+1])
        {
            a=true;
            count++;
        }

        else
        {
            a=false;
            break;
        }
    }

    for(int i=count;i<n;i++)
    {
        if(num[i]<num[i+1])
        {
            a=true;
            count++;
        }

        else
        {
            a=false;
            break;
        }
    }



    for(int i=count;i<n;i++)
    {
        if(num[i]<num[i+1])
        {
            a=true;
            count++;
        }

        else
        {
            a=false;
            break;
        }
    }

    for(int i=count;i<n;i++)
    {
        if(num[i]>num[i+1])
        {
            a=true;
            count++;
        }

        else
        {
            a=false;
            break;
        }
    }

    if(a==1)
    {
        cout<<"true";
    }
    else
    {
        cout<<"false";
    }
}

フルスクリーンモードを解除する

この問題を解決するためのより良いアプローチを提案してください
git

こちらの記事はdev.toの良い記事を日本人向けに翻訳しています。
https://dev.to/suryanshcode/check-the-sequence-strictly-decreasing-than-increasing-strictly-decreasing-strictly-increasing-1e1d