fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. ios::sync_with_stdio(false);
  6. cin.tie(NULL);
  7. int tc;
  8. cin >> tc;
  9. for (int t = 1; t <= tc; t++) {
  10. int n, m;
  11. cin >> n >> m;
  12. long long arr[n];
  13. long long l = 0, r = INT_MIN, ans = -1;
  14. for (int i = 0; i < n; i++) {
  15. cin >> arr[i];
  16. r = max(r, arr[i]);
  17. }
  18. while (l + 1 < r) {
  19. long long mid = l + (r - l) / 2;
  20. long long tmp = 0;
  21. for (int i = 0; i < n; i++) tmp += arr[i] ^ mid;
  22. cout << tmp << " " << mid << '\n';
  23. if (tmp <= m) {
  24. ans = mid;
  25. l = mid;
  26. } else {
  27. r = mid;
  28. }
  29. }
  30. cout << "Case #" << t << ": " << ans << '\n';
  31. }
  32. return 0;
  33. }
Success #stdin #stdout 0s 4284KB
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
18 4
20 6
23 7
Case #1: 7
47 15
47 7
47 3
47 1
Case #2: -1
86 50
125 25
104 12
98 6
103 3
101 1
Case #3: -1
29 2
13 1
Case #4: -1