#CF276D. 小女孩与最大异或

    ID: 6785 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>动态规划贪心模拟其他数学状态压缩

小女孩与最大异或

题目描述

每个测试的时间限制:1 秒
每个测试的内存限制:256 兆字节

一个小女孩非常喜欢按位运算的问题。这是其中的一道题。

给你两个整数 llrr。考虑所有整数对 aabblabrl \le a \le b \le r)的 aba \oplus b 的值。你的任务是找出所有考虑的值中的最大值。

表达式 xyx \oplus y 表示对整数 xxyy 应用按位异或运算。该运算存在于所有现代编程语言中,例如在 C++ 和 Java 中表示为 ^,在 Pascal 中表示为 xor

输入格式

单行包含两个空格分隔的整数 llrr1lr10181 \le l \le r \le 10^{18})。

在 C++ 中,请勿使用 %lld 说明符来读取或写入 64 位整数。建议使用 cincout 流或 %I64d 说明符。

输出格式

单行输出一个整数 —— 所有整数对 a,ba, blabrl \le a \le b \le r)的 aba \oplus b 的最大值。

1 2
3
8 16
31
1 1
0