问题 5483 --最大和

5483: 最大和

时间限制: 1 Sec  内存限制: 128 MB
提交: 48  解决: 24
[提交][状态][命题人:]

题目描述

聪明的张博士有一个由n个整数a1,a2an构成的数组a。他可以执行下列操作任意次:

1) 从数组a中任选两项:aiaj,其中ai的值必须是2的倍数

2ai = ai/2,即使得ai为原值的一半

3aj = aj*2,即使得aj为原值的两倍

张博士可以通过执行上面描述的操作任意次得到一个新的数组序列,显然元素的个数不变。请帮助张博士找到数组元素的最大和并输出。

输入

第一行一个整数t:测试用例的数量(1≤t≤104)

每个测试用例共两行:

第一行包含一个整数n(1≤n≤15),即数组中的元素个数。

第二行包含n个整数a1,a2an(1≤ai<16),即数组元素的值。

输出

每个测试用例输出一行一个整数,即执行最优操作序列后数组元素的最大和值。
样例输入
Copy
5
3
6 4 2
5
1 2 3 4 5
1
10
3
2 3 4
15
8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
样例输出
Copy
50
46
10
26
35184372088846

提示

对于第一个测试用例[6, 4, 2],最优操作序列如下:

1)令i=2, j=1,则执行操作a2=4/2=2, a1=6*2=12,则得到新的序列[12, 2, 2]

2)令i=2, j=1,则执行操作a2=2/2=1, a1=12*2=24,则得到新的序列[24, 1, 2]

3)令i=3, j=1,则执行操作a3=2/2=1, a1=12*2=48,则得到新的序列[48, 1, 1]

则最大和值为:48+1+1=50

对于第三个测试用例[10],数组元素的值无法改变,最大和值为:10

来源

 

[提交][状态]