当ai<ai+1时,进入上升状态,进行标记

当ai>ai+1时,进入下降状态,若标记,计数+1,并清除标记

模拟此过程即可

代码

#include <iostream>
#include <algorithm>
#include <list>
//#include <map>
#include <vector>
#include <queue>
#include <cstdlib>
#include <cstring>
#include <stack>
using namespace ::std;
#define close ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define Endl endl
#define inty int
#define ll long long
#define make make_pair
#define pii pair<ll,ll>
#define INF 0x3f3f3f3f
#define MAX 1000000
const ll mod=998244353;
int cnt,c1,c2,a,b,c,d,e,f;
void solve(){
    int a,b,c,d=0;
    bool up=false;
    cin>>a>>b;//b是ai,可以直接用数组替代
    for(int i=2;i<=a;i++){
        cin>>c;//c是ai+1,可以直接用数组替代
        if(c>b)
            up= true;
        else if(c<b){
            if(up)
                d++,up= false;
        }
        b=c;
    }
    cout<<d<<endl;
}
void init(){
}
int main()
{
    close;
    /*fflush(stdout);
    cout.flush();*/
    init();
    int t=1;
    //cin>>t;
    while (t--){
        solve();
    }
    return 0;
}/*
1
3 40
1 6 37
 */