Given two integers, and , find the maximal value of xor , where and satisfy the following condition:
Input Format
The input contains two lines; is present in the first line and in the second line.
Constraints
3
3
Output Format
The maximal value as mentioned in the problem statement.
Sample Input
10
15
Sample Output
7
Explanation
The input tells us that and . All the pairs which comply to above condition are the following:
Here two pairs (10, 13) and (11, 12) have maximum xor value 7, and this is the answer.
Here two pairs (10, 13) and (11, 12) have maximum xor value 7, and this is the answer.
CODE:
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Solution {
/*
* Complete the function below.
*/
static int maxXor(int l, int r) {
int max = 0;
while (l != r){
l >>= 1;
r >>= 1;
max = (int)((max << 1) + 1);
}
return max;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int res;
int _l;
_l = Integer.parseInt(in.nextLine());
int _r;
_r = Integer.parseInt(in.nextLine());
res = maxXor(_l, _r);
System.out.println(res);
}
}
Comments
Post a Comment