CF76D Plus and xor
题目描述
按位异或(或按位加法模二)是一种二元运算,本质上是对操作数二进制表示对应位置的每一对位应用逻辑异或。换句话说,若且仅若操作数相应位置上的两个比特不同,结果的该二进制位才为 $1$。
例如,如果 $X=109_{10}=1101101_{2}$,$Y=41_{10}=101001_{2}$,那么:
$X \;\text{xor}\; Y = 68_{10} = 1000100_{2}$。
请编写一个程序,输入两个非负整数 $A$ 和 $B$,找到两个非负整数 $X$ 和 $Y$,满足以下条件:
- $A=X+Y$
- $B = X$ xor $Y$,其中 xor 表示按位异或运算。
- 在所有满足上述两个条件的数中,$X$ 最小。
输入格式
第一行包含整数 $A$,第二行包含整数 $B$($0 \leq A, B \leq 2^{64}-1$)。
输出格式
输出仅一行,包含两个非负整数 $X$ 和 $Y$。如果无解,则输出 $-1$。
说明/提示
由 ChatGPT 5 翻译