#954. 数学实验
数学实验
当前没有测试数据。
题目描述
老师在黑板上写出了一个正整数数列,让所有同学都来做一个数学实验,要求如下:
- 这组数总共不超过 500000 个,每个数的大小范围在 1<=80之间
- 要从这组数中找出两个相邻且相同的数,删掉其中一个数,剩下的一个数加 1(例如:两个相邻的 6,变成一个 7)
- 重复执行第 2 步
- 当操作无法继续进行时,实验结束,此时,实验结果就是这组数里面最大的数
注意:不同的实验方案得到的最大数不同
现在给定了一个正整数数列,请你编写程序计算出能够得到的实验结果最大是多少
例如
当 N=6,这个正整数数列是 1、2、2、2、3、4
时,得到最大数的方法如下:
先将后面两个 2变成一个 3,然后 3和 3 变成 4,最后 4 和 4 变成 5 。可以证明,没有其它更好的方案,故输出 5
输入描述
第一行输入一个正整数 N
第二行输入 N 个正整数 a_i,相邻两个数之间用一个空格隔开
输出描述
输出一个正整数,表示实验结束后能够得到的最大的实验结果
样例输入
6
1 2 2 2 3 4
样例输出
5
数据范围
1≤N≤500000,1≤ai≤80