CF2074C.XOR and Triangle

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

XOR and Triangle

题目描述

这次,粉色士兵们给了你一个整数 xx(x≥2x \ge 2)。

请判断是否存在一个正整数 yy 满足以下条件:

  • yy 严格小于 xx
  • 存在一个非退化三角形∗^{\text{∗}},其边长为 xx、yy 和 x⊕yx \oplus y。其中 ⊕\oplus 表示按位异或运算

若存在这样的整数 yy,请输出任意一个满足条件的值。

∗^{\text{∗}}当边长为 aa、bb、cc 的三角形满足 a+b>ca + b > c、a+c>ba + c > b 且 b+c>ab + c > a 时,该三角形是非退化的。

输入格式

每个测试包含多个测试用例。第一行包含测试用例的数量 tt(1≤t≤20001 \le t \le 2000)。接下来是每个测试用例的描述。

每个测试用例的单独一行包含一个整数 xx(2≤x≤1092 \le x \le 10^9)。

输出格式

对于每个测试用例,在单独一行中输出一个整数:

  • 若存在满足条件的整数 yy,输出 yy 的值(1≤y<x1 \le y < x)
  • 否则输出 −1-1

若存在多个满足条件的整数,可以输出任意一个。

说明/提示

在第一个测试用例中,存在边长为 33、55 和 3⊕5=63 \oplus 5 = 6 的非退化三角形。因此 y=3y=3 是有效答案。

在第二个测试用例中,11 是 yy 的唯一可能候选值,但无法构成非退化三角形。因此答案为 −1-1。

翻译由 DeepSeek R1 完成

样例

7
5
2
6
3
69
4
420
3
-1
5
-1
66
-1
320

在线编程 IDE

建议全屏模式获得最佳体验