AT1202Contest_j Hated Number

题目描述

给定正整数 $ X,\ M\ (X\ \leq\ M) $。 你喜欢 $ M $ 及以下的正整数,但是唯独讨厌 $ X $。因此,你决定创建一个满足以下条件的集合 $ S $: - $ S $ 由不超过 $ 10^5 $ 的不同的正整数组成。 - $ S $ 的元素个数不超过 $ 20 $。 - 对于满足 $ 1\ \leq\ k\ \leq\ M,\ k\ \neq\ X $ 的任意正整数 $ k $,存在 $ S $ 的一个子集,其元素之和为 $ k $。 - 不存在 $ S $ 的一个子集,其元素之和为 $ X $。 判断是否存在这样的集合 $ S $,如果存在,输出其中一个满足条件集合。 对于每个输入,回答 $ T $ 个测试用例。

输入格式

输入以以下格式给出: > $ T $ $ \mathrm{case}_1 $ $ \vdots $ $ \mathrm{case}_T $ 每个测试用例以以下格式给出: > $ X\ M $

输出格式

对于每个输入,如果满足条件的集合 $ S $ 不存在,输出 $ -1 $;如果存在,输出一个满足条件的集合 $ S $,并以以下格式输出: > $ N $ $ a_1\ a_2\ \dots\ a_N $ 其中, $ N $ 是集合 $ S $ 的元素个数, $ (a_1,\ a_2,\ \dots,\ a_N) $ 是按升序排列的集合 $ S $ 的元素,满足以下约束: - $ 1\ \leq\ N\ \leq\ 20 $ - $ 1\ \leq\ a_1\ \lt\ a_2\ \lt\ \dots\ \lt\ a_N\ \leq\ 10^5 $ 对于每个输入,输出之后换行。 ### 约束条件 - $ 1\ \leq\ T\ \leq\ 100 $ - $ 1\ \leq\ X\ \le\ M\ \leq\ 10^5 $ - $ M\ \geq\ 2 $ - 输入均为整数 Translate by [@XYQ_102](https://www.luogu.com.cn/user/712337)

说明/提示

### 制約 - $ 1\ \leq\ T\ \leq\ 100 $ - $ 1\ \leq\ X\ \le\ M\ \leq\ 10^5 $ - $ M\ \geq\ 2 $ - 入力は全て整数 ### Sample Explanation 1 \- $ 1 $ つ目のケースでは, $ S=\lbrace\ 1,\ 2,\ 5\ \rbrace $ などが条件を満たします. - $ 2 $ つ目のケースで条件を満たす $ S $ はありません. - $ 3 $ つ目のケースでは, $ S=\lbrace\ 1,\ 2,\ 3,\ 4\ \rbrace $ などが条件を満たします.