题目链接:https://www.luogu.com.cn/problem/P1970
AC代码:
1 #include<cstdio> 2 #include<iostream> 3 using namespace std; 4 const int N=100010; 5 int a[N],f[N][2]; 6 int n; 7 int main(){ 8 scanf("%d",&n); 9 for(int i=1;i<=n;i++) scanf("%d",&a[i]); 10 f[1][0]=f[1][1]=1; 11 for(int i=2;i<=n;i++){ 12 if(a[i]>a[i-1]) f[i][0]=f[i-1][1]+1; 13 else f[i][0]=f[i-1][0]; 14 if(a[i]<a[i-1]) f[i][1]=f[i-1][0]+1; 15 else f[i][1]=f[i-1][1]; 16 } 17 printf("%d",max(f[n][0],f[n][1])); 18 return 0; 19 }