小慕正在处理一个项目,需要将一堆苹果分成两堆。 A组希望按照自己的规则来平分苹果:它们的计算方式是二进制加法,但不计算进位。 例如,12 + 5 按照A的规则计算:12的二进制是1100,5的二进制是0101,按位相加不进位得到1001,即9。 B组则使用普通的十进制加法,包含进位。B组希望在满足A组规则的前提下,分到的苹果总重量尽可能多。 现在给定苹果的数量以及每个苹果的重量,请计算在满足A组规则的情况下,B组能获得的最大苹果总重量;如果无法满足A组的要求,则输出-1。
提示:带虚线的词点一下有通俗解释。
输入描述
苹果的数目跟每个苹果分量
输出描述
B在满意A的情形下获取的苹果总分量,假如B无法满意A的请求,输出-1。
示例
示例 1
输入
3 3 5 6
输出
11
示例 2
输入
2 12 5
输出
-1
示例 3
输入
2 12 12
输出
12
时间限制 1000 ms · 内存限制 128 MB