牛牛的数列一直错一个
为啥例3一直过不了
#include <stdio.h> #include <stdlib.h> int main() { int n,i,max=1; scanf("%d",&n); int a[n]; int left[100000]; //已i个元素为结尾 int right[100000];//已i个元素为开头 if(n>2){ for(i=0;i<n;i++) { scanf("%d",&a[i]); } left[0]=1; right[n-1]=1; for(i=1;i<n;i++) { if(a[i]>a[i-1]) { left[i]=left[i-1]+1; } else { left[i]=1; } } for(i=n-2;i>=0;i--) { if(a[i]<a[i+1]) { right[i]=right[i+1]+1; } else { right[i]=1; } } for(i=1;i<=n-1;i++) { if(a[i-1]<a[i+1]&&left[i-1]+right[i+1]>max) { max=left[i-1]+right[i+1]; } } if(i=n-1&&left[i-1]+1>max) { max=left[i-1]+1; } printf("%d",max+1); } else { printf("%d",n); } return 0; }