当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
*/