#2311. 【模板】-单调栈-人数清点
【模板】-单调栈-人数清点
题目描述
午饭时间到了,同学们到食堂的窗口前排好了队伍,排队时间太长了,小 L 同学无聊之际想到了一个问题,如果要编一个程序,输入每个人的身高(从最后一个同学开始输入,一直到排在第 位的挨着打菜窗口的同学,按照这个顺序输入),计算出每个人的前面能看到几个人,应该如何解决呢?
请注意:一个同学能够看到的人是在他前面且身高严格低于他的人,并且他的视线会被在他前面第一个身高大于等于他的人挡住。也就是说无论如何也无法看到再前面的人。
输入格式
输入行
第一行一个正整数 表示同学的个数。
以下 行分别表示从后到前(窗口)同学的身高。
输出格式
一行一个整数,表示所有同学能看到的人的个数和。
样例数据
6
10
3
7
4
12
2
5
样例解释:
一共6位同学:
身高 | 10 | 3 | 7 | 4 | 12 | 2 |
---|---|---|---|---|---|---|
能看到的人数 | 3 | 0 | 1 | 0 | 1 | 0 |
能看到的人数总和为:3+1+1=5
数据范围
对于数据,,
对于数据,,,