写完觉得自己在瞎搞
#include<cstdio>
#include<iostream>
using namespace std;
const int N=1e5+2;
int t,n,m=1,a[N],p;
signed main(){
ios::sync_with_stdio(0);
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
if(a[2]>a[1]) t=1;
if(a[2]==a[1]) t=0,m=0;
if(a[2]<a[1]) t=-1;
for(int i=2;i<=n;i++){
if(i==n){
m+=(t!=0);
break;
}
if(t==1){
if(a[i+1]<a[i]){
m++;
t=-1;
}
if(a[i+1]==a[i]){
p=t;
t=0;
}
}
else if(t==-1){
if(a[i+1]>a[i]){
m++;
t=1;
}
if(a[i+1]==a[i]){
p=t;
t=0;
}
}
else if(t==0){
if(a[i+1]>a[i]){
m+=(p!=1);
t=1;
}
else if(a[i+1]<a[i]){
m+=(p!=-1);
t=-1;
}
}
}
printf("%d",m);
return 0;
}