CF1790E.Vlad and a Pair of Numbers

普及/提高-

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

Vlad found two positive numbers aa and bb (a,b>0a,b \gt 0). He discovered that a⊕b=a+b2a \oplus b = \frac{a + b}{2}, where ⊕\oplus means the bitwise exclusive OR , and division is performed without rounding..

Since it is easier to remember one number than two, Vlad remembered only a⊕ba\oplus b, let's denote this number as xx. Help him find any suitable aa and bb or tell him that they do not exist.

弗拉德找到了两个正整数 aa 和 bb(a,b>0a,b \gt 0)。他发现 a⊕b=a+b2a \oplus b = \frac{a + b}{2},其中 ⊕\oplus 表示按位异或,且除法运算不进行四舍五入。

由于只记住一个数比记住两个数更容易,弗拉德仅记住了 a⊕ba\oplus b,我们将其记为 xx。请帮助他找出任意一组满足条件的 aa 和 bb,或者告诉他这样的 aa 和 bb 不存在。

输入格式

The first line of the input data contains the single integer tt (1≤t≤1041 \le t \le 10^4) — the number of test cases in the test.

Each test case is described by a single integer xx (1≤x≤2291 \le x \le 2^{29}) — the number that Vlad remembered.

输入数据的第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4)—— 表示测试用例的数量。

每个测试用例由一个整数 xx(1≤x≤2291 \le x \le 2^{29})描述—— 即弗拉德所记住的数字。

输出格式

Output tt lines, each of which is the answer to the corresponding test case. As the answer, output aa and bb (0<a,b≤2320 \lt a,b \le 2^{32}), such that x=a⊕b=a+b2x = a \oplus b = \frac{a + b}{2}. If there are several answers, output any of them. If there are no matching pairs, output -1.

输出 tt 行,每行对应一个测试用例的答案。作为答案,输出满足条件的 aa 和 bb(0<a,b≤2320 \lt a,b \le 2^{32}),使得 x=a⊕b=a+b2x = a \oplus b = \frac{a + b}{2}。若存在多个答案,输出任意一个即可;若不存在满足条件的数对,则输出 -1。

输入输出样例

  • 输入#1

    6
    2
    5
    10
    6
    18
    36

    输出#1

    3 1
    -1
    13 7
    -1
    25 11
    50 22

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

首页