#include<iostream>
using namespace std;
const int N=15005;
int n,ans,a[N],fl[N],fr[N],gl[N],gr[N],Cl[N],Cr[N];
void addl(int x,int k){
for(;x;x-=x&-x) Cl[x]=min(Cl[x],k);
}
void addr(int x,int k){
for(;x<=n;x+=x&-x) Cr[x]=max(Cr[x],k);
}
int getl(int x){
int res=n+1;
for(;x<=n;x+=x&-x) res=min(res,Cl[x]);
return res;
}
int getr(int x){
int res=0;
for(;x;x-=x&-x) res=max(res,Cr[x]);
return res;
}
void DP(int o){
for(int len=o;;len++){
int flag=0;
for(int i=1;i<=n;i++) flag|=fl[i]<=n|fr[i]>=1;
if(!flag){
ans=max(ans,len-o);
return;}
for(int i=0;i<=n;i++){
Cl[i]=n+1;
Cr[i]=0;
}
for(int i=n;i>=1;i--){
if(i+1<=n){
addl(a[i+1],fl[i+1]);
addr(a[i+1],fr[i+1]);
}
if(i+len<=n){
addl(fr[i+len],a[i+len]);
addr(fl[i+len],a[i+len]);
}
gl[i]=getl(a[i]);
gr[i]=getr(a[i]);
}
for(int i=1;i<=n;i++){
fl[i]=gl[i];
fr[i]=gr[i];
}
}
}
void xxx(){
cin>>n;
ans=0;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++) fl[i]=fr[i]=a[i];
DP(2);
for(int i=1;i<n;i++){
fl[i]=n+1;
fr[i]=0;
}
fl[n]=fr[n]=a[n];
DP(1);
cout<<ans<<'\n';
}
int main(){
int t; cin>>t;
while(t--) xxx();
return 0;
}
589. N-ary Tree Preorder Traversal | 1299. Replace Elements with Greatest Element on Right Side |
1768. Merge Strings Alternately | 561. Array Partition I |
1374. Generate a String With Characters That Have Odd Counts | 1822. Sign of the Product of an Array |
1464. Maximum Product of Two Elements in an Array | 1323. Maximum 69 Number |
832. Flipping an Image | 1295. Find Numbers with Even Number of Digits |
1704. Determine if String Halves Are Alike | 1732. Find the Highest Altitude |
709. To Lower Case | 1688. Count of Matches in Tournament |
1684. Count the Number of Consistent Strings | 1588. Sum of All Odd Length Subarrays |
1662. Check If Two String Arrays are Equivalent | 1832. Check if the Sentence Is Pangram |
1678. Goal Parser Interpretation | 1389. Create Target Array in the Given Order |
1313. Decompress Run-Length Encoded List | 1281. Subtract the Product and Sum of Digits of an Integer |
1342. Number of Steps to Reduce a Number to Zero | 1528. Shuffle String |
1365. How Many Numbers Are Smaller Than the Current Number | 771. Jewels and Stones |
1512. Number of Good Pairs | 672. Richest Customer Wealth |
1470. Shuffle the Array | 1431. Kids With the Greatest Number of Candies |