For this Question: Given an array Arr of non- negative integers of size N. The task is to find the maximum possible xor between two numbers present in the array.First line of input contains integer N (length of array). Next line contains N space separated integers which are numbers of array.

Constraints
2 <= N <= 100000
1 <= Arr[i] <= 10^9Print the the maximum possible xor between two numbers present in the array.Sample Input
6
25 10 2 8 5 3 

Sample Output
28

Explanation 
5^25=28, I have written this Solution Code: 
// C++ implementation of the above approach 

#include <bits/stdc++.h> 
using namespace std; 


#define qw1 freopen("input1.txt", "r", stdin); freopen("output1.txt", "w", stdout);
#define qw2 freopen("input2.txt", "r", stdin); freopen("output2.txt", "w", stdout);
#define qw3 freopen("input3.txt", "r", stdin); freopen("output3.txt", "w", stdout);
#define qw4 freopen("input4.txt", "r", stdin); freopen("output4.txt", "w", stdout);
#define qw5 freopen("input5.txt", "r", stdin); freopen("output5.txt", "w", stdout);
#define qw6 freopen("input6.txt", "r", stdin); freopen("output6.txt", "w", stdout);
#define qw freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout);
// Function to return the 
// maximum xor 
int max_xor(int arr[], int n) 
{ 
	int maxx = 0, mask = 0; 

	set<int> se; 

	for (int i = 30; i >= 0; i--) { 

		// set the i'th bit in mask 
		// like 100000, 110000, 111000.. 
		mask |= (1 << i); 

		for (int i = 0; i < n; ++i) { 

			// Just keep the prefix till 
			// i'th bit neglecting all 
			// the bit's after i'th bit 
			se.insert(arr[i] & mask); 
		} 

		int newMaxx = maxx | (1 << i); 

		for (int prefix : se) { 

			// find two pair in set 
			// such that a^b = newMaxx 
			// which is the highest 
			// possible bit can be obtained 
			if (se.count(newMaxx ^ prefix)) { 
				maxx = newMaxx; 
				break; 
			} 
		} 

		// clear the set for next 
		// iteration 
		se.clear(); 
	} 

	return maxx; 
} 


// Driver Code 
int main() 
{ 

	int n;
	cin>>n;
	int arr[n];
  for(int i=0;i<n;i++)
  {
  	cin>>arr[i];
  }
	cout << max_xor(arr, n) << endl; 

	return 0; 
} 
, In this Programming Language: C++, Now tell me if this Code is compilable or not?