题解
2023-08-05 10:42:05
发布于:浙江
8阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int f(int n,int m){
if(n%m==0){
return m;
}else{
return f(m,n%m);
}
}
int a[200005];
int main(){
int T;
cin>>T;
while(T--){
int n;
cin>>n;
for(int i = 1;i<=n;i++){
cin>>a[i];
}
int f1=0;
int maxx=-1;
for(int i = n;i>=1;i--){
for(int j = n;j>=1;j--){
if(a[i]==0||a[j]==0){
continue;
}
if(f(a[i],a[j])==1){
maxx=max(maxx,i+j);
}
if(i+n<maxx){
f1=1;
break;
}
}
if(f1)break;
}
cout<<maxx<<'\n';
}
return 0;
}
这里空空如也
有帮助,赞一个