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 翻译