zoukankan      html  css  js  c++  java
  • Little Girl and Maximum XOR CodeForces

    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 and y. The given operation exists in all modern programming languages, for example, in languages C++ and Java it is represented as "^", in Pascal — as «xor».

    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

    Input
    1 2
    Output
    3
    Input
    8 16
    Output
    31
    Input
    1 1
    Output
    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 } 
  • 相关阅读:
    【APIO2008】免费道路[最小生成树 kruskal]
    【2019.8.13】
    【矩阵】
    [POI2008]BLO-Blockade [tarjan 割点]
    poj1458 最长公共子序列 (动态规划)
    最长上升子序列
    poj1163 数字三角形 (动态规划)
    快速幂 (分治)
    求排列的逆序数(分治)
    快速排序 (分治)
  • 原文地址:https://www.cnblogs.com/zgglj-com/p/7710083.html
Copyright © 2011-2022 走看看