1681 合成游戏 | OJ题库 | CODE STUDY
CODE STUDY
Programming Practice Platform

欢迎回来

1681

合成游戏

Easy 时间限制 1000 ms 内存限制 262144 KB
二进制 二星挑战

题目详情

返回题库

题目描述

有很多合成类的游戏都有如下的玩法:玩家会得到很多数字,每个数字都是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;

测试样例

样例支持多行内容展示
样例1
输入
5
4 1 2 1 1
输出
8

两个1合成了一个2,再合成一个4,最后得到8,还有一个1是多余的
editor.py

提交前会先自动运行样例。只有样例全部通过,才会进入后端正式判题。