A63245 | 蓝桥杯C++国赛编程实现: 数学实验。【
来源创意编程组
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
蓝桥杯C++国赛编程实现: 数学实验。
【题目描述】
老师在黑板上写出了一个正整数数列,让所有同学都来做一个数学实验,要求如下:
1.这组数总共不超过500000个,每个数的大小范围在1~80之间;
2.要从这组数中找出两个相邻且相同的数,删掉其中一个数,剩下的一个数加1(例如: 两个相邻的6,变成一个7) ;
3.重复执行第2步;
4.当操作无法继续进行时,实验结束,此时,实验结果就是这组数里面最大的数
注意:不同的实验方案得到的最大数不同
现在给定了一个正整数数列,请你编写程序计算出能够得到的实验结果最大是多少?
例如:
当N=6,这个正整数数列是 1、2、2、2、3、4时,得到最大数的方法如下:
先将后面两个2变成一个3,然后3和3变成4,最后4和4变成5。可以证明,没有其它更好的方案,故输出5。
【输入描述】
第一行输入一个正整数N (1sNs500000)第二行输入N个正整数 (1s正整数s80),相邻两个数之间用一个空格隔开
【输出描述】
输出一个正整数,表示实验结束后能够得到的最大的实验结果
【样例输入】
6
1 2 2 2 3 4
【样例输出】
5
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?