CF2057C.Trip to the Olympiad

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

在新的一年中,将会有很多团队奥林匹克竞赛,因此「T-generation」的老师们需要选择三名学生组成一个团队来参加这些比赛。无论是哪三名学生,他们都能在任何团体竞赛中表现出色。然而,赢得比赛仅仅是成功的一部分;首先,他们需要获得参赛资格……

每位学生都有一个用整数表示的独立性等级。「T-generation」中,每个独立性等级从 llrr(包含 llrr)的数值都有且只有一名学生。对于一个由独立性等级为 aabbcc 的学生组成的三人团队,他们的团队独立性值定义为 (ab)+(bc)+(ac)(a \oplus b) + (b \oplus c) + (a \oplus c),其中 \oplus 表示按位异或运算。

你的任务是选择一个三人团队,使得他们的团队独立性值最大化。

输入格式

输入包含多个测试用例。第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。接下来的每行描述一个测试用例。

每个测试用例的首行包含两个整数 llrr0l,r<2300 \le l, r < 2^{30}rl>1r - l > 1),表示学生独立性等级的最小值和最大值。

输出格式

对于每个测试用例,输出三个不同的整数 a,b,ca, b, c,满足 la,b,crl \le a, b, c \le r,且使表达式 (ab)+(bc)+(ac)(a \oplus b) + (b \oplus c) + (a \oplus c) 的值最大。在存在多个解的情况下,可以输出任意一个满足条件的三元组。

输入输出样例

  • 输入#1

    8
    0 2
    0 8
    1 3
    6 22
    128 137
    69 98
    115 127
    0 1073741823

    输出#1

    1 2 0
    8 7 1
    2 1 3
    7 16 11
    134 132 137
    98 85 76
    123 121 118
    965321865 375544086 12551794

说明/提示

在第一个测试用例中,可以选择的唯一个合适的三元组(忽略顺序)是 (0,1,2)(0, 1, 2)

在第二个测试用例中,其中一个合适的三元组是 (8,7,1)(8, 7, 1),因为 (87)+(71)+(81)=15+6+9=30(8 \oplus 7) + (7 \oplus 1) + (8 \oplus 1) = 15 + 6 + 9 = 30。经过证明,3030 是在 0a,b,c80 \le a, b, c \le 8 时,(ab)+(bc)+(ac)(a \oplus b) + (b \oplus c) + (a \oplus c) 的最大可能值。

首页