为啥例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;
}
全部评论
(1) 回帖