fork download
  1. #include <iostream>
  2. #include<vector>
  3. #include<unordered_map>
  4. using namespace std;
  5.  
  6. int main() {
  7. vector<int> nums={4,2,2,6,4};
  8. int k=6;
  9. int count=0;
  10.  
  11. unordered_map<int,int> m;
  12. int XorSum=0;
  13. m[0]=1;
  14.  
  15. for(int i=0;i<nums.size();i++) {
  16. XorSum^=nums[i];
  17.  
  18. if(m.find(XorSum^k)!=m.end()) {
  19. count+=m[XorSum^k];
  20. }
  21. m[XorSum]++;
  22. }
  23.  
  24. cout<<count<<endl;
  25.  
  26. return 0;
  27. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
4