fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5.  
  6. int n,k;
  7. cin>>n>>k;
  8.  
  9. vector<int> numbers(n);
  10.  
  11. for(auto& number: numbers){
  12. cin>>number;
  13. }
  14.  
  15. int answer = 0;
  16.  
  17. unordered_map<int,int> xorSum;
  18.  
  19. int current = 0;
  20.  
  21. xorSum[0] = 1;
  22.  
  23. for(int i=0; i<n; i++){
  24. current ^= numbers[i];
  25.  
  26. if(xorSum.find(current^k) != xorSum.end()){
  27. answer += xorSum[current^k];
  28. }
  29.  
  30. xorSum[current]++;
  31. }
  32.  
  33. cout<<answer;
  34.  
  35. return 0;
  36. }
Success #stdin #stdout 0s 5316KB
stdin
5 6
4 2 2 6 4
stdout
4