ABC422D.D - Least Unbalanced

传统题 时间 2000 ms 内存 256 MiB 6 尝试 3 已通过 1 标签

D - Least Unbalanced

得分:400400分

问题陈述

设NN为正整数。定义长度为2N2^N的非负整数序列A=(A_1,A_2,…,A_2N)A=(A\_1, A\_2, \dots, A\_{2^N})的不平衡为通过以下操作得到的非负整数值:

  • 最初,设定为X=0X=0。
  • NN次执行以下一系列操作:
    • 将XX更新为max⁡(X,max⁡(A)−min⁡(A))\max(X, \max(A) - \min(A)),其中max⁡(A)\max(A)和min⁡(A)\min(A)分别表示序列AA的最大值和最小值。
    • 通过将起始元素的两乘二配对并排列其和,形成一个长度为一半的新序列。即集合$A \gets (A\_1 + A\_2, A\_3 + A\_4, \dots, A\_{\vert A \vert - 1} + A\_{\vert A \vert})$。
  • XX的最终值即为不平衡。

例如,当N=2,A=(6,8,3,5)N=2, A=(6, 8, 3, 5)时,不平衡通过以下步骤66:

  • 起初是X=0X=0。
  • 第一系列操作如下:
    • 更新XX到max⁡(X,max⁡(A)−min⁡(A))=max⁡(0,8−3)=5\max(X, \max(A) - \min(A)) = \max(0, 8 - 3) = 5。
    • 把AA设为(6+8,3+5)=(14,8)(6+8, 3+5) = (14, 8)。
  • 第二系列操作如下:
    • 更新XX给max⁡(X,max⁡(A)−min⁡(A))=max⁡(5,14−8)=6\max(X, \max(A) - \min(A)) = \max(5, 14 - 8) = 6。
    • 把AA设为(14+8)=(22)(14 + 8) = (22)。
  • 终于,好X=6X=6。

给出一个非负整数KK。在所有长度为2N2^N和为KK的非负整数序列中,构造一个最小化不平衡的序列。

限制

  • 1≤N≤201 \leq N \leq 20
  • 0≤K≤1090 \leq K \leq 10^9
  • NN 和 KK 是整数。

输入

输入格式为标准输入:

$N$ $K$

输出

设B=(B_1,B_2,…,B_2N)B=(B\_1,B\_2,\dots,B\_{2^N})为一个不平衡最小的序列。设UU为BB的不平衡。输出如下格式的解:

$U$
$B_1$ $B_2$ $\dots$ $B_{2^N}$

如果有多个解法,任何一个都被视为正确。


(5,6)(5, 6) 是一个不平衡11的序列,是满足该条件的序列之间的最小不平衡。


样例

1 11
1
5 6
3 56
0
7 7 7 7 7 7 7 7

在线编程 IDE

建议全屏模式获得最佳体验