注意点:
#include<cstdio> #include<iostream> using namespace std; const int MAXN=2e7; bool vis[MAXN]; int gcd(int a,int b){ if(!b)return a; return gcd(b,a%b); } int a[MAXN]; int main(){ int t; scanf("%d",&t); while(t--){ int n,k; scanf("%d%d",&n,&k); for(int i=1;i<=k;i++){ scanf("%d",&a[i]); vis[a[i]]=1; } if(n==1&&k==1){ printf("-1\n"); vis[a[1]]=0; continue; } int gcdValue=n; for(int i=1;i<=n;i++){ if(!vis[i]){ gcdValue=gcd(gcdValue,i); } } for(int i=1;i<=k;i++) vis[a[i]]=0; if(gcdValue==1){ printf("%d\n",n); }else printf("-1\n"); } return 0; }
原文:https://www.cnblogs.com/zbsy-wwx/p/11743247.html