已知人类的 DNA 由一个整数表示。在微观层面上,DNA 由许多基因组成。考虑 DNA 对应数字的二进制表示,我们注意到以下规则:第 $i$ 位上的数字 1 表示存在第 $i$ 个基因,而数字 0 表示不存在($i$ 为正整数)。此外,据观察,任何两个不同的成年人都可以生出一个孩子,其 DNA 仅包含第 $i$ 个基因,当且仅当这两个成年人的 DNA 都包含该基因。
任务
生成一个包含 2000 个非负整数的数组,代表一组成年人的 DNA,使得从该组成年人中可以生出的具有不同 DNA 的孩子的总数尽可能多。(“尽可能多”并不意味着最优)。评分将遵循下表。
数据范围
- 注意!本题为“提交答案题”。你需要上传一个
.txt文件。 - 所要求的数组必须包含范围在 $[0, 2^{20}-1]$ 内的非负整数。
- 所有孩子必须来自不同的成年人组合,这意味着任意两个孩子必须至少有一位不同的父母。
- 一个孩子的两位父母必须是不同的。
评分标准
| 分数 | $NR$(具有不同 DNA 的孩子数量) |
|---|---|
| 1 | $200,000 \le NR \le 549,999$ |
| 2 | $550,000 \le NR \le 600,000$ |
| 3 | $600,000 < NR \le 999,999$ |
| 4 | $1,000,000 \le NR$ |
注:第 3 档分数的计算公式为 $74 + 1.5 \times \left( \frac{NR - 600,001}{40,000} + 1 \right)$。
样例
输入格式 1
1 5 3 6 9 12
输出格式 1
1 0 4 2 8
说明
假设成年人的 DNA 为:1, 5, 3, 6, 9, 12,则孩子可能拥有的不同 DNA 为:1, 0, 4, 2, 8。