fork download
  1. #include <iostream>
  2. #include<bits/stdc++.h>
  3. using namespace std;
  4.  
  5.  
  6.  
  7. int maxSubarrayXOR(int arr[], int n)
  8. {
  9. int ans = INT_MIN; // Initialize result
  10.  
  11. // Pick starting points of subarrays
  12. for (int i=0; i<n; i++)
  13. {
  14. int curr_xor = 0; // to store xor of current subarray
  15.  
  16. // Pick ending points of subarrays starting with i
  17. for (int j=i; j<n; j++)
  18. {
  19. curr_xor = curr_xor ^ arr[j];
  20. cout<<"value is "<<curr_xor<<" ;"<< ans<<endl;
  21. ans = max(ans, curr_xor);
  22.  
  23. }
  24. }
  25. return ans;
  26. }
  27.  
  28. // Driver program to test above functions
  29. int main()
  30. {
  31. int arr[] = {8, 1, 2, 12};
  32. int n = sizeof(arr)/sizeof(arr[0]);
  33. cout << "Max subarray XOR is " << maxSubarrayXOR(arr, n);
  34. return 0;
  35. }
Success #stdin #stdout 0s 4220KB
stdin
Standard input is empty
stdout
Max subarray XOR is value is 8 ;-2147483648
value is 9 ;8
value is 11 ;9
value is 7 ;11
value is 1 ;11
value is 3 ;11
value is 15 ;11
value is 2 ;15
value is 14 ;15
value is 12 ;15
15