折点技术,一个循环一个判断
(模拟)
#include <bits/stdc++.h>
using namespace std;
const int N=1e4+10;
int a[N];
int n;
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
int count=0;
for(int i=3;i<=n;i++)
if((a[i-2]>a[i-1]&&a[i-1]<a[i])||(a[i-2]<a[i-1]&&a[i-1]>a[i]))
count++;
printf("%d",count);
return 0;
}