| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 41941 | 真很诡异你知道吗其实我不是皇子瑞 | 【S】T3 | C++ | 解答错误 | 6 | 1046 MS | 15924 KB | 1207 | 2026-06-06 13:59:01 |
#include<bits/stdc++.h> using namespace std; int _,n,a[100005],ls[100005],bh[100005],ch[100005]; map<int ,int>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); int 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; int tp=0; for(int i=j;i<=n;i++){ if(ch[bh[i]]==j)continue; long long cg=now*a[i]/__gcd(now,(long long)a[i]); if(i==j || now!=cg){ bs[cg]=1; } now=cg; ch[bh[i]]=j; if(now>1300000)break; } } for(int i=1;;i++){ if(bs[i]==0){ printf("%d\n",i); break; } } } } //40?-20