「CMOI R1」mex2
题目背景
小 U 对于从一个集合映射到一个数的函数很感兴趣,而 $\text{mex}$ 是一个很好的例子。
$\text{mex}(S)$ 指的是在集合 $S$ 中没有出现过的最小非负整数。
题目描述
多组数据。
每组数据,给定 $c$,要求构造序列 $a_1,a_2,...,a_n\in [0,2\times 10^9]$ 满足
$$\sum\limits_{1\le l\le r\le n}\text{mex}(a_l,a_{l+1},...,a_r)=c$$
其中要求 $1\le n\le3000$。可以证明在该题的数据范围内如果存在解,则在 $1\le n\le 3000$ 时一定存在解。
输入输出格式
输入格式
第一行一个整数,数据组数 $T$。
之后 $T$ 行每行一个非负整数 $c$。
输出格式
对于每组数据:
如果无解,则仅输出一行一个整数 $-1$。
否则,第一行输出一个正整数 $n$。
第二行输出 $n$ 个非负整数 $a_1,a_2,...,a_n$。
输入输出样例
输入样例 #1
4
13
25
32
0
输出样例 #1
7
1 9 1 9 8 1 0
13
1 1 4 5 1 4 1 9 1 9 8 1 0
8
1 2 3 9 0 7 3 8
7
1 2 3 9 7 3 8
说明
### 样例解释
对于样例 #1:只有 $\text{mex}(a_7)=1$,且 $∀1\le i\le6$ 有 $\text{mex}(a_i,a_{i+1},...,a_7)=2$,因而总和为 $13$。
### 数据范围
$id$ 为 $\text{subtask}$ 编号。
|$id$|特殊性质|分数|$id$|特殊性质|分数|
|-:|-:|-:|-:|-:|-:|
|$1$|$c\le3\times10^3$|$3$|$5$|$c\le8\times 10^6$|$10$|
|$2$|$c\le6\times 10^3$|$7$|$6$|$c\le1\times 10^8$|$10$|
|$3$|$c\le8\times10^4$|$10$|$7$|$c\le1\times 10^9$|$25$|
|$4$|$c\le4\times 10^6$|$15$|$8$|$c\le2\times 10^9$|$20$|
对于 $100\%$ 的数据,$T\le 310$,$0\le c\le 2\times 10^9$。