CF1325D Ehab the Xorcist

题目描述

给定两个整数 $u$ 和 $v$,请你找到一个最短的数组,使得该数组所有元素的按位异或结果为 $u$,且所有元素的和为 $v$。

输入格式

输入仅一行,包含两个整数 $u$ 和 $v$,满足 $0 \le u, v \le 10^{18}$。

输出格式

如果不存在满足条件的数组,输出 “-1”。否则: 第一行输出一个整数 $n$,表示所求数组的长度。 第二行输出 $n$ 个正整数,表示该数组。如果有多组答案,输出任意一组均可。

说明/提示

在第一个样例中,$3 \oplus 1 = 2$,且 $3 + 1 = 4$。不存在更短的有效数组。 注意,在第四个样例中,数组可以为空。 由 ChatGPT 4.1 翻译