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