/* STLsort离散化==T 手工sort离散化==T map在线==T map离线处理c==A 240ms */ #include<cstdio> #include<map> #define maxn 1000010 using namespace std; int T,n,c[maxn],a[maxn],ans,s,t,num; map<int,int>p; int init(){ int x=0,f=1;char s=getchar(); while(s<'0'||s>'9'){if(s=='-')f=-1;s=getchar();} while(s>='0'&&s<='9'){x=x*10+s-'0';s=getchar();} return x*f; } int main() { T=init(); while(T--){ n=init();s=1;ans=num=0;p.clear(); for(int i=1;i<=n;i++){ a[i]=init(); if(p[a[i]]==0){ p[a[i]]=i;c[i]=0; } else { c[i]=p[a[i]];p[a[i]]=i; } } while(1){ for(t=s;t<=n;t++){ if(c[t]>=s){ s=c[t]+1;c[t]=0;break; } ans=max(ans,t-s+1); } if(t>=n)break; } printf("%d ",ans); } return 0; }