题目 20099

普及模拟赛 18 - E

查看题解 ↗GitHub ↗如何评测
题号
20099
时间限制
1000 ms
内存限制
1000 MB
标签
比赛
来源
2026 普及模拟赛 18 - E

时间限制:1000ms

空间限制:512MB

问题描述

有 2n2^n 个小朋友排成一排,从左往右下标从 00 到 2n−12^{n}-1,第 ii 个小朋友的力气值为 aia_i,老师要选出一些小朋友参加拔河比赛。

小朋友会跟着老师的口号变换队形,老师会喊恰好一次口号,当老师喊出口号 xx 时,原本第 ii 个小朋友会走到原本第 i⊕xi \oplus x 个小朋友的位置上去,其中必须满足 0≤x<2n0 \leq x < 2^{n}。

变换完队形后,老师会把所有小朋友重新按照从左往右的顺序编号,其中第一个小朋友编号为 00,第二个小朋友编号为 11,以此类推,重新编号后,老师会让编号大于等于 kk 的小朋友全部出列参加拔河比赛,此时队伍的力气值为所有出列的小朋友的力气值之和。

然而,目前并不知道参加拔河比赛的具体人数,因此,你需要对 0≤k<2n0 \leq k < 2^n,依次输出在选择合适的口号的情况下,所有出列的小朋友的力气值之和最大可以是多少。

输入格式

第一行一个非负整数 nn。

第二行 2n2^n 个非负整数,描述数组 aa​。

输出格式

共一行 2n2^n 个整数,表示 k=0,1,…,2n−1k=0,1,\dots,2^n-1 时的答案。

样例输入1

文本
2
6 2 4 7

样例输出1

文本
19 17 11 7

样例解释1

对于 k=1k=1,选择口号 x=1x=1。

对于 k=0,2,4k=0,2,4,选择口号 x=0x=0。

样例输入2

文本
3
1 2 3 4 5 6 7 8

样例输出2

文本
36 35 33 30 26 21 15 8

样例输入3,4,5

见下发文件。

样例输出3,4,5

见下发文件。

数据范围与提示

0≤n≤20,0≤ai≤1090\le n\le 20,0\le a_i\le 10^9。

测试点编号 n≤n\le 特殊性质
1,21,2 99 否
33 1111 否
44 1313 是
55 1313 否
66 1616 是
77 1616 否
88 2020 是
9,109,10 2020 否

特殊性质:至多只有 nn 个 ii 满足 ai>0a_i>0。

数据下载

题目 20099 的公开数据

正在读取文件列表…

常用命令

题目 20099 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。