AT_abc422_d [ABC422D] Least Unbalanced

题目描述

给定一个正整数 $N$。定义长度为 $2^N$ 的非负整数序列 $A=(A_1, A_2, \dots, A_{2^N})$ 的**不均衡度**为通过以下操作获得的非负整数: - 初始时,设 $X=0$。 - 重复以下操作共 $N$ 次: - 用 $X \gets \max(X, \max(A) - \min(A))$ 更新 $X$,其中 $\max(A)$ 和 $\min(A)$ 分别表示序列 $A$ 的最大值和最小值。 - 将 $A$ 转化为长度减半的新序列,方法是依次两两配对并求和,即 $A \gets (A_1 + A_2, A_3 + A_4, \dots, A_{|A|-1} + A_{|A|})$。 - 操作结束后,$X$ 的最终值即为不均衡度。 例如,当 $N=2$,$A=(6, 8, 3, 5)$ 时,不均衡度为 $6$,具体步骤如下: - 初始时 $X=0$。 - 第一次操作: - $X \gets \max(0, 8-3)=5$。 - $A \gets (6+8, 3+5)=(14, 8)$。 - 第二次操作: - $X \gets \max(5, 14-8)=6$。 - $A \gets (14+8)=(22)$。 - 最终 $X=6$。 现在,给定一个非负整数 $K$。在所有长度为 $2^N$ 且元素和为 $K$ 的非负整数序列中,构造一个不均衡度最小的序列。

输入格式

输入通过标准输入给出,格式如下: > $N$ $K$

输出格式

设 $B=(B_1, B_2, \dots, B_{2^N})$ 为某个不均衡度最小的满足条件的序列。不均衡度为 $U$。输出格式如下: > $U$ $B_1$ $B_2$ $\dots$ $B_{2^N}$ 如果有多组答案,输出任意一组均可。

说明/提示

### 样例解释 1 $(5, 6)$ 是一组不均衡度为 $1$ 的序列,是满足条件的不均衡度最小序列。 ### 数据范围 - $1 \leq N \leq 20$ - $0 \leq K \leq 10^9$ - $N$ 和 $K$ 均为整数。 由 ChatGPT 5 翻译