fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. void solve()
  5. {
  6. long long n, x, y, temp = 0, s = 0, min = 0;
  7. cin >> n >> x >> y;
  8. priority_queue<long long, vector<long long>, greater<long long>> pq;
  9. for(long long i=0; i<n; i++)
  10. {
  11. cin >> temp;
  12. pq.push(temp);
  13. }
  14. for(long long i=0; i<y; i++)
  15. {
  16. min = pq.top();
  17. pq.pop();
  18. s = (min^x);
  19. pq.push(s);
  20. if(pq.top() == min)
  21. {
  22. if(y%2==1)
  23. {
  24. pq.pop();
  25. s = (pq.top()^x);
  26. pq.push(s);
  27. }
  28. break;
  29. }
  30. }
  31. while (pq.empty() == false)
  32. {
  33. cout << pq.top() << " ";
  34. pq.pop();
  35. }
  36. cout << "\n";
  37. }
  38.  
  39. int main() {
  40. ios::sync_with_stdio(0);
  41. cin.tie(0);
  42. cout.tie(0);
  43. long long t;
  44. cin >> t;
  45. while(t--!=0)
  46. {
  47. solve();
  48. }
  49. return 0;
  50. }
Success #stdin #stdout 0.01s 5392KB
stdin
3
1 6 99
9
3 7 44
1 2 3
5 20 6
5 10 15 20 25
stdout
15 
3 5 6 
5 20 25 27 30