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 翻译