fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. int arr[]= {10,5,2,7,1,9};
  6. int n=sizeof(arr)/sizeof(arr[0]);
  7. int k=15;
  8. int pairs=0;
  9. vector<int> prefixXor(n);
  10. prefixXor[0]=arr[0];
  11. for(int i=1;i<n;i++)
  12. prefixXor[i]=prefixXor[i-1]^arr[i];
  13. unordered_map<int, int> mp;
  14. mp[0]=1;
  15. for(int j=0;j<n;j++){
  16. int toFind=prefixXor[j]^k;
  17. pairs+=mp[toFind];
  18. mp[prefixXor[j]]++;
  19. }
  20. cout<<pairs;
  21. return 0;
  22. }
  23.  
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
2