编程题
### 题目描述 有一天小蓝在学校里上课,他非常喜欢数学,在课堂上听老师讲矩阵时,老师讲到了矩阵的价值,随后老师提出了一个问题: “如果有 $4^n$ 个正整数,如何将这些数字排列在一个 $2^n \times 2^n$ 的正方形矩阵中,以使生成的矩阵具有最大的价值?” 矩阵的价值可以由以下方法可以获得: 1. 找到矩阵中最大的元素,并记为 $max$ 。 2. 如果 $n = 0$ ,则矩阵的价值就等于 $max$ ;否则,可以将矩阵分成 $4$ 个不相交的 $2^{n-1} × 2^{n - 1}$ 大小的子矩阵,然后矩阵的价值就等于数字 $m$ 和其他四个子矩阵的价值和。如你所想,这个方法是递归的。 小蓝听了这个问题后,觉得非常有趣。他决定自己解决这个问题。他很快就找到了解决问题的方法。他将矩阵拆分为 $4$ 个不相交的 $2^{n-1} \times 2^{n -1}$ 大小的子矩阵,然后分别计算每个子矩阵的价值。最后,他将所有子矩阵的价值相加,得到了矩阵的最大价值。 现在请你来计算矩阵的最大价值是多少,并把它输出出来。 ### 输入格式 输入第 $1$ 行包含一个正整数 $4^n$ ,表示矩阵中数字的总数。 输入第 $2$ 行包含 $4^n$ 个正整数,表示每一个你需要在 $2^n \times 2^n$ 大小的矩阵中排列的数字。 ### 输出格式 输出一行,这一行只包含一个整数,表示矩阵的最大价值。 ### 样例输入1 ``` 1 13 ``` ### 样例输出1 ``` 13 ``` ### 样例输入2 ``` 4 1 2 3 4 ``` ### 样例输出2 ```` 14 ```` ### 说明/提示 在第二个样例中,您需要将矩阵中的数字排列如下: ``` 1 2 3 4 ``` 那么矩阵的价值为: `4 + 1 + 2 + 3 + 4 = 14` 。 ### 评测数据规模 对于所有评测数据,$1 ≤ 4^n ≤ 2·10^6$ ,$1 \le $ 矩阵中的每个数 $\le 10^9$ 。
查看答案
赣ICP备20007335号-2