3,278
社区成员
发帖
与我相关
我的任务
分享ZZZ 准备玩一款数字消消乐游戏:在屏幕
上有一排数字,编号为1~𝑁,数值为𝑎𝑖(1 ≤ 𝑎𝑖 ≤ 10000),ZZZ 可以从这一排数字中选择
一个数字𝑘,数字𝑘会消失,数字𝑘两旁的数字也会产生连锁反应,两旁所有小于相邻元素
的数字都会消失,直到遇到一个不小于前一个元素或后一个元素为止。选择的次数越少,
游戏的分数也就越高。
例如:有一排数字为 1 3 6 7 5 4 4 5 5 1,选中第 4 个数 7,在左边的第 3 个数字被消除
(
6<7),第 2 个数字被消除(3<6),第 1 个数字也被消除(1<3);在右边,第 5 个数字消除
(
5<7),第 6 个数字也被消除(4<5);剩下的情况为:# # # # # # 4 5 5 1,接下来只需要
选中第 8 个和第 9 个数字,就可消除掉所有的数字。
编写程序,求用最少的操作次数来消除所有的数字。
【输入格式】
第1行:一个整数𝑁(1 ≤ 𝑁 ≤ 50000),表示数字的数量;
第2~𝑁 + 1行:𝑁个数,表示数值𝑎𝑖。
【输出格式】
按编号从小到大换行输出操作数字的编号。
【输入样例】
10
1
3
6
7
5
4
4
5
5
1
【输出样例】
4
8
9
【数据范围】
30%的数据:1 ≤ 𝑁 ≤ 500,(
𝑎𝑖为上升序列或下降序列,有相等的情况);
50%的数据:1 ≤ 𝑁 ≤ 1000;
70%的数据:1 ≤ 𝑁 ≤ 30000;
全部的数据:1 ≤ 𝑁 ≤ 50000.
3,278
社区成员
发帖
与我相关
我的任务
分享加载中
试试用AI创作助手写篇文章吧