#C0026. 魔法合成 / synthesis

魔法合成 / synthesis

魔法合成

伞伞突然想吃苹果了,于是他来到了一片苹果园。

果园里有 nn 棵苹果树,编号从 11nn,伞伞从第 11 棵树出发,按编号顺序一棵一棵地走过去(树之间离得很近,走路不花时间)。

每经过一棵树,伞伞可以花 1 分钟 从树上摘下一颗苹果,这颗苹果的大小是 aia_i。他也可以选择不摘(不花时间)。

伞伞还学会了一个神奇的魔法:每次施展魔法不花时间,可以把 两颗大小相同的苹果 合在一起,变成一颗 大小 +1+1 的新苹果!这个魔法可以随便用,想用多少次就用多少次。

现在,伞伞想用这些苹果(加上魔法)拼出一颗 尽可能大的苹果。请问:

  • 他能获得的最大苹果大小是多少?
  • 在保证得到这个最大苹果的前提下,他最少需要花多少分钟摘苹果?

输入格式

第一行一个正整数 nn,表示苹果树的数量。

第二行 nn 个正整数 aia_i,表示第 ii 棵苹果树上的苹果大小。

输出格式

一行两个数字 x,yx,y,表示伞伞能获得的最大苹果的大小和最少需要花几分钟才能获得这么大的苹果。

样例

5
2 3 1 1 2
4 3
9
2 3 2 2 2 2 1 1 2
5 7

样例解释

对于第一组样例,伞伞选择摘第 1,2,51,2,5 棵树上的苹果,先把两个 22 合成一个 33,再把两个 33 合成一个 44,最终获得了大小为 44 的苹果。

数据规模与约定

下发文件

下发文件对应子任务 1,2,31,2,3

子任务编号 nn≤ aia_i \leq 分值
11 1010 3030 3030
22 5×1055 \times 10^5 22
33 3030 4040

对于 100%100\% 的数据:保证 1n5×105,1ai301 \leq n \leq 5 \times 10^{5},1 \leq a_i \leq 30