fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. typedef long long ll;
  4.  
  5. int main(){
  6. ll MAX=1e18;
  7. ll t,k,i;
  8. cin>>t;
  9. assert(t>0&&t<=1000);
  10.  
  11. while(t--){
  12. cin>>k;
  13. assert(k>0&&k<=1000);
  14. ll n[k+1];
  15. for(i=0;i<k;i++){
  16. cin>>n[i];
  17. assert(n[i]>0&&n[i]<=MAX);
  18. }
  19.  
  20. if(k%2==0){
  21. cout<<"0\n";
  22. }else{
  23. ll mi=1e18;
  24. for(i=0;i<k;i++){
  25. if(n[i]%2==0){
  26. mi=1; break;
  27. }else{
  28. ll p=2;
  29. while(1){
  30. ll x=n[i]-(p-1);
  31. ll r=x%(2*p);
  32. if(r==0){
  33. break;
  34. }
  35. p=p*2;
  36. }
  37. if(p<=n[i]){
  38. mi=min(p,mi);
  39. }
  40. }
  41. }
  42.  
  43. if(mi==1e18){
  44. cout<<"-1\n";
  45. }else{
  46. assert(mi>=1&&mi<=MAX);
  47. cout<<mi<<endl;
  48. }
  49. }
  50. }
  51. }
  52.  
  53.  
Success #stdin #stdout 0s 15240KB
stdin
1
1
5
stdout
2