luogu#B4280. [蓝桥杯青少年组国赛 2023] 数学实验

[蓝桥杯青少年组国赛 2023] 数学实验

题目背景

本题原题为:P3147 [USACO16OPEN] 262144 P

题目描述

老师在黑板上写出了一个正整数数列,让所有同学都来做一个数学实验,要求如下:

  1. 这组数总共不超过 500000500000 个,每个数的大小范围在 1801 \sim 80 之间;
  2. 要从这组数中找出两个相邻且相同的数,删掉其中一个数,剩下的一个数加 11(例如: 两个相邻的 66,变成一个 77);
  3. 重复执行第 22 步;
  4. 当操作无法继续进行时,实验结束,此时,实验结果就是这组数里面最大的数。

注意: 不同的实验方案得到的最大数不同。

现在给定了一个正整数数列,请你编写程序计算出能够得到的实验结果最大是多少。

例如:当 N=6N=6,这个正整数数列是 112222223344 时,得到最大数的方法如下:先将后面两个 22 变成一个 33 ,然后 3333 变成 44,最后 4444 变成 55。可以证明,没有其它更好的方案,故输出 55

输入格式

第一行输入一个正整数 NN1N5000001 \leq N \leq 500000)。

第二行输入 NN 个正整数(11 \leq 正整数 80\leq 80),相邻两个数之间用一个空格隔开。

输出格式

输出一个正整数,表示实验结束后能够得到的最大的实验结果。

6
1 2 2 2 3 4
5