2184: 合成游戏
Memory Limit:256 MB
Time Limit:1.000 S
Judge Style:Normal Judger
Creator:
Submit:111
Solved:20
Description
题目描述
有很多合成类的游戏都有如下的玩法:玩家会得到很多数字,每个数字都是 2 的幂,玩家可以挑选两个一样大的数字,将它们合成一个新的数字,新数字为原数字的两倍大小。如果这种合成操作可以不断地进行,给定小爱在最初获得的数字集合,请帮她算一下能够获得的最大数字。
2的幂是指只有 2 作为素因子的正整数。如 4、256 等等。但 60 不是,因为它有素因子 3。
输入格式
第一行:单个正整数 n,表示小爱一开始拥有的数字数量;
第二行:n 个正整数 a1,a2,...,an,表示刚开始时获得的数字,保证每个数字都是 2 的幂。
输出格式
单个正整数:表示最后可以得到的最大数字大小。
数据范围
对于 30% 的数据,1≤n≤100,1≤ai≤128;
对于 60% 的数据,1≤n≤2000,1≤ai≤2^20;
对于 100% 的数据,1≤n≤1,000,000,1≤ai≤2^40;
样例数据
输入:
5
4 1 2 1 1
输出:
8
说明:
两个1合成了一个2,再合成一个4,最后得到8,还有一个1是多余的
Sample Input Copy
5
4 1 2 1 1
Sample Output Copy
8