fork download
  1. #include <iostream>
  2. using namespace std;
  3. int gcdd(int gcd,int no);
  4. int main() {
  5. int t,n,no,gcd;
  6. cin>>t;
  7. while(t--)
  8. {
  9. cin>>n;
  10. cin>>no;
  11. gcd=no;
  12. for(int i=1;i<n;i++)
  13. {
  14. cin>>no;
  15. gcd=gcdd(gcd,no);
  16. if(gcd==1)
  17. {
  18. cout<<n<<endl;
  19. break;
  20. }
  21.  
  22. }
  23. if(gcd!=1)
  24. {
  25. cout<<"-1"<<endl;
  26. }
  27.  
  28. }
  29.  
  30. return 0;
  31. }
  32. int small;
  33. int gcdd(int gcd,int no)
  34. {
  35. while(gcd!=no)
  36. {
  37. if(gcd<no)
  38. small=gcd;
  39. else
  40. small=no;
  41.  
  42. (gcd%small==0)?gcd=small:gcd=gcd%small;
  43. (no%small==0)?no=small:no=no%small;
  44.  
  45. }
  46.  
  47. return gcd;
  48.  
  49. }
Success #stdin #stdout 0s 2732KB
stdin
2
2
7 2
3
2 2 4
stdout
2
-1