#HK5447. 「UOI 2018 Stage 4 Day1」披萨

「UOI 2018 Stage 4 Day1」披萨

题目描述

题目译自 Ukrainian Olympiads in Informatics 2018 Stage 4 Day1 T1. Піца

所有参加奥林匹克竞赛的选手都知道,在比赛前需要好好吃一顿。为此,斯捷潘决定订购一份素食披萨。他选择的披萨店允许客户自行挑选披萨的配料。披萨店有 NN 种配料,每种配料都有自己的价格。斯捷潘不能将同一种配料添加多次到披萨中。披萨的总价格是所选配料价格的总和。

不难计算出,披萨的组合方式(除了斯捷潘不感兴趣的不加任何配料的披萨)总共有 2N12^N-1 种。斯捷潘感到困惑,于是决定将所有可能的披萨价格写在一张纸上以便参考。

在美味地吃完披萨后,斯捷潘在奥林匹克竞赛中表现出色。满意的他正准备去休息,却发现自己忘记了每种配料的价格。幸运的是,斯捷潘保留了那张记录所有披萨组合价格的纸条,因此他可以尝试推算出每种配料的价格。

编写一个程序,根据所有披萨组合的价格信息,恢复每种配料的价格。

输入格式

输入文件的第一行包含一个整数 NN (1N17)(1 \leq N \leq 17),表示配料的数量。

第二行包含恰好 2N12^N-1 个正整数,每个数字不超过 10610^6,表示所有披萨组合的价格。

输出格式

输出文件应包含一行,包含恰好 NN 个正整数,按升序排列,表示每种配料的价格。如果存在多种可能的答案,输出任意一种即可。如果斯捷潘的数据有误,无法恢复每种配料的价格,则输出一个数字 1-1

3
1 2 3 4 5 6 7

1 2 4

3
1 2 3 3 4 5 6

1 2 3

2
3 2 2

-1

数据范围与提示

详细子任务附加限制及分值如下表所示:

子任务 分值 附加限制
11 1818 配料价格为两两不同的 2 的幂,且答案始终存在
22 2222 1N41 \leq N \leq 4,输入文件中数字满足 11 \leq 数字 10\leq 10
33 2222 1N41 \leq N \leq 4
44 1717 1N101 \leq N \leq 10
55 2121 无附加限制