fork(5) download
  1. #include <iostream>
  2. #include <algorithm>
  3. using namespace std;
  4.  
  5. int main() {
  6. int t,m,i,j,n,k,a[1001];
  7. cin>>t;
  8. while(t--) {
  9. cin>>n>>k;
  10. for(i=0;i<n;i++)
  11. cin>>a[i];
  12.  
  13. sort(a, a + n, std::greater<int>());
  14.  
  15. m=1;
  16. while(m<=a[0])
  17. m<<=1;
  18. m>>=1;
  19.  
  20.  
  21. i=0;
  22. while(m) {
  23. if(a[i] & m) {
  24. for(j=i+1;j<n; j++) {
  25. if((a[j] & m))
  26. a[j]=a[i]^a[j];
  27. }
  28. i++;
  29. m=m>>1;
  30. }
  31. else {
  32. for(j=i+1;j<n; j++) {
  33. if(a[j] & m) {
  34. a[i] ^= a[j] ^= a[i] ^=a[j];
  35. break;
  36. }
  37. }
  38. if(j==n) {
  39. m=m>>1;
  40. }
  41. }
  42. }
  43.  
  44. for(i=0;i<n;i++) {
  45. if((k^a[i])>k)
  46. k^=a[i];
  47. }
  48. cout<<k<<endl;
  49. }
  50. return 0;
  51. }
Success #stdin #stdout 0s 2688KB
stdin
1
10 778
37 55 66 33 24 23 53 
stdout
895