问题 5237 --合成游戏

5237: 合成游戏

题目描述

有很多合成类的游戏都有如下的玩法:玩家会得到很多数字,每个数字都是 $2$ 的幂,玩家可以挑选两个一样大的数字,将它们合成一个新的数字,新数字为原数字的两倍大小。如果这种合成操作可以不断地进行,给定小爱在最初获得的数字集合,请帮她算一下能够获得的最大数字。 $2$ 的幂是指只有 $2$ 作为素因子的正整数。如 $4$、$256$ 等等。但 $60$ 不是,因为它有素因子 $3$。

输入

第一行:单个正整数 $n$,表示小爱一开始拥有的数字数量; 第二行:$n$ 个正整数 $a_1, a_2,\cdots, a_n$,表示刚开始时获得的数字,保证每个数字都是 $2$ 的幂。

输出

单个正整数:表示最后可以得到的最大数字大小。

样例输入输出

输入#1 复制
5
4 1 2 1 1
输出#1 复制
8

提示

+ 对于 $30\%$ 的数据,$1\leq n\leq 100$,$1\leq a_i\leq128$; + 对于 $60\%$ 的数据,$1\leq n\leq 2000$,$1\leq a_i\leq2^{20}$; + 对于 $100\%$ 的数据,$1\leq n\leq 1,000,000$,$1\leq a_i\leq2^{40}$; 样例1说明:两个1合成了一个2,再合成一个4,最后得到8,还有一个1是多余的
序号 标题 作者 发表时间 费用 订购数 操作