fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. int t;
  6. cin>>t;
  7. int i =1;
  8. while(t--){
  9. int n,m;
  10. cin >> n >> m;
  11. //cout<< n<<" "<<m<<endl;
  12. vector<int>a(n);
  13. for(int i =0;i<n;i++)
  14. {
  15. int tmp;
  16. cin>> tmp;
  17. a[i] = tmp;
  18. // cout<<a[i]<<" ";
  19. }
  20. cout<<endl;
  21.  
  22. int k = 0;
  23. int sum = 0;
  24. // while(1) {
  25. //sum =0;
  26. int res = 0;
  27. bool flag =false;
  28. for(int k = 0; k<=127; k++) {
  29. sum =0;
  30. for(int i = 0; i<n; i++) {
  31. sum = sum + (a[i] ^k);
  32. }
  33. if(sum<=m)
  34. {
  35. res = max(res,k);
  36. flag = true;
  37. }
  38. // if(sum>m){
  39. // flag = !flag;
  40. // }
  41. }
  42.  
  43. // if(sum>m){
  44. // break;
  45. // }
  46. // cout<<k<<" "<<sum<<" "<<m<<endl;
  47. // k++;
  48. // sum = 0;
  49. // }
  50. if(flag == false){
  51. res = -1;
  52. }
  53. cout<<"Case #"<<i<<": "<<res<<endl;
  54. i++;
  55. }
  56. return 0;
  57. }
Success #stdin #stdout 0s 4524KB
stdin
4
3 27
8 2 4
4 45
30 0 4 11
1 0
100
6 2
5 5 1 5 1 0
stdout
Case #1: 12

Case #2: 14

Case #3: 100

Case #4: -1