老师在黑板上写出了一个正整数数列,让所有同学都来做一个数学实验,要求如下:
-
这组数总共不超过 个,每个数的大小范围在 之间;
-
要从这组数中找出两个相邻且相同的数,删掉其中一个数,剩下的一个数加 (例如: 两个相邻的 ,变成一个 ) ;
-
重复执行第 2 步;
-
当操作无法继续进行时,实验结束,此时,实验结果就是这组数里面最大的数。
注意:不同的实验方案得到的最大数不同。
现在给定了一个正整数数列,请你编写程序计算出能够得到的实验结果最大是多少?
例如:
当 ,这个正整数数列是 时,得到最大数的方法如下:
先将后面两个 变成一个 ,然后 和 变成 ,最后 和 变成 。可以证明,没有其它更好的方案,故输出 。