CF1965B Missing Subsequence Sum

题目描述

给定两个整数 $n,k$,你需要构造出一个长度不超过 $25$ 的数组 $a$,并满足以下条件: * $a$ 中任意子序列元素和不为 $k$。 * $a$ 中所有子序列和可以表示 $1\sim n$ 中除了 $k$ 以外的任意整数。 子序列表示一个序列中任意一些元素按顺序组成的序列,比如 $[5,2,3]$ 是 $[1,5,7,8,2,4,3]$ 的子序列。 可以证明一定存在这样的方案。

输入格式

第一行一个整数 $t$,表示数据组数。 接下来 $t$ 行,每行两个整数 $n,k$。

输出格式

共 $t$ 组数据,每组数据共两行。 第一行一个整数 $m$ 表示你构造的序列长度。 接下来一行 $m$ 个整数表示你构造的数列,其中第 $i$ 个数表示 $a_i$。

说明/提示

对于全部数据,满足 $1\le t\le1000$,$1\le k\le n\le10^6$,$1\le \sum n\le10^7$。 你构造的数列需要满足 $1\le m\le25$,$0\le a_i\le10^9$。