提交时间:2026-06-06 16:00:02

运行 ID: 42001

#include<bits/stdc++.h> using namespace std; long long _,n,a[100005],ls[100005],bh[100005],ch[100005]; map<long long ,long long>bs,mp; int main(){ scanf("%lld",&_); while(_--){ bs.clear(),mp.clear(); scanf("%lld",&n); for(int i=1;i<=n;i++){ ch[i]=0; scanf("%lld",&a[i]); ls[i]=a[i]; } sort(ls+1,ls+n+1); long long top=0; for(int i=1;i<=n;i++){ if(i==1 || ls[i]!=ls[i-1]){ mp[ls[i]]=++top; } } for(int i=1;i<=n;i++){ bh[i]=mp[a[i]]; } for(int j=1;j<=n;j++){ long long now=1; long long tp=0; bs[a[j]]=1; for(int i=j;i<=n;i++){ long long cg=now*a[i]/__gcd(now,a[i]); if(i==j || now!=cg){ bs[cg]=1; } now=cg; ch[bh[i]]=j; if(now>1300000 || i!=1 && (now%a[i-1])==0)break; } } for(int i=1;;i++){ if(bs[i]==0){ printf("%d\n",i); break; } } } }