#include<bits/stdc++.h>
using namespace std;
int find(int n, int a[])
{
int inc=0,dec=0,max=0,curr=0;
if(n==1)
return 1;
for(int i=1;i<n;i++)
{
if(a[i]>=a[i-1])
{ if(inc==0)
{ inc=inc+2;
if(dec!=0)
{
dec=0;
}
}
else{
if(dec!=0)
{
inc=2;
}
else
{inc=inc+1;}
}
if(inc>=max)
{
max=inc;
}
}
else
{
if(dec==0)
{ if(inc==0)
{
dec=dec+2;
if(dec>max)
{max=dec;}}
else{
dec=dec+1;
curr=dec+inc;
if(curr>max)
{max=curr;}
}
}
else{
if(inc==0)
{
dec=dec+1;
if(dec>max)
{max=dec;}
}
else
{
dec=dec+1;
curr=inc+dec;
if(curr>max)
{max=curr;}
}
}
}
}
return max;
}
int main() {
int n,t,a[1000000];
cin>>t;
for(int i=0;i<t;i++)
{int max=0;
cin>>n;
for(int j=0;j<n;j++)
{
cin>>a[j];
}
max=find(n,a);
cout<<max<<endl;
}
return 0;
}
this s my code, it runs correctly for many sample testcases, but fail all test cases.