Little Girl and Maximum XOR CodeForces - 276D
A little girl loves problems on bitwise operations very much. Here‘s one of them.
You are given two integers l and r. Let‘s consider the values of for all pairs of integers a and b (l?≤?a?≤?b?≤?r). Your task is to find the maximum value among all considered ones.
Expression means applying bitwise excluding or operation to integers x
Input
The single line contains space-separated integers l and r (1?≤?l?≤?r?≤?1018).
Please, do not use the %lld specifier to read or write 64-bit integers in С++. It is preferred to use the cin, cout streams or the %I64d specifier.
Output
In a single line print a single integer — the maximum value of for all pairs of integers a, b (l?≤?a?≤?b?≤?r).
Example
Input1 2Output
3Input
8 16Output
31Input
1 1Output
0
1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 5 ll L,R;6 7 int main() 8 { cin>>L>>R; 9 int i; 10 for(i=63;i>=0;i--) if((L&(1ll<<i))^(R&(1ll<<i))) break; 11 ll ans=pow(2,i+1)-1; 12 cout<<ans<<endl; 13 }
Little Girl and Maximum XOR CodeForces - 276D