5153: 【单调栈】Bilibili2021秋招-大鱼吃小鱼
金币值:
1
时间限制:6.000 s
内存限制:128 M
正确:49
提交:79
正确率:62.03% 命题人:
题目描述
小明最近喜欢上了俄罗斯套娃、大鱼吃小鱼这些大的包住小的类型的游戏。
于是小明爸爸给小明做了一个特别版的大鱼吃小鱼游戏,他希望通过这个游戏能够近一步提高牛牛的智商。
游戏规则如下: 现在有N条鱼,每条鱼的体积为Ai,从左到右排成一排。
A数组是一个排列。 小明每轮可以执行一次大鱼吃小鱼的操作。
一次大鱼吃小鱼的操作:对于每条鱼,它在每一次操作时会吃掉右边比自己小的第一条鱼。 值得注意的是,在一次操作中,每条鱼吃比自己小的鱼的时候是同时发生的。
举一个例子,假设现在有三条鱼,体积为分别[5,4,3],5吃4,4吃3,一次操作后就剩下[5]一条鱼。
爸爸问小明,你知道要多少次操作,鱼的数量就不会变了嘛?
输入格式
第一行输入长度N
第二行输入A数组,数字之间用空格隔开
1<=N<=10^5,1<=Ai<=N
输出格式
一个正整数, 表示要多少次操作,鱼的数量就不会变了。
输入样例 复制
6
4 3 2 3 2 1
输出样例 复制
2
提示
[4,3,2,3,2,1]-->[4,3]-->[4]