CF276D.Little Girl and Maximum XOR

普及+/提高

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

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".

一位小女孩非常喜欢位运算相关的题目,下面就是其中一道。

给定两个整数 ll 和 rr。考虑所有满足 l≤a≤b≤rl \leq a \leq b \leq r 的整数对 (a,b)(a, b),并计算表达式 的值。你的任务是在所有这些值中找出最大值。

表达式 表示对整数 xx 和 yy 执行按位异或(bitwise exclusive or)运算。该运算在所有现代编程语言中均存在;例如,在 C++ 和 Java 中用 ^ 表示,在 Pascal 中用 xor 表示。

输入格式

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 C++. It is preferred to use the cin, cout streams or the %I64d specifier.

单行包含用空格分隔的整数 ll 和 rr(1 ≤ l ≤ r ≤ 10181 ≤ l ≤ r ≤ 10^{18})。

请注意,在 C++ 中读写 64 位整数时,请勿使用 %lld 说明符。推荐使用 cin、cout 流或 %I64d 说明符。

输出格式

In a single line print a single integer — the maximum value of for all pairs of integers a, b (l ≤ a ≤ b ≤ r).

在一行中输出一个整数——对所有满足 $ l \leq a \leq b \leq r $ 的整数对 $ (a, b) $,表达式 的最大值。

输入输出样例

  • 输入#1

    1 2

    输出#1

    3
  • 输入#2

    8 16

    输出#2

    31
  • 输入#3

    1 1

    输出#3

    0

输入解题思路,AI测评打分。不知道怎么写?

首页