#P1378. 人数清点
人数清点
Description
饭时间到了,同学们到食堂的窗口前排好了队伍,排队时间太长了,张同学无聊之际想到了一个问题,如果要编一个程序,输入每个人的身高(从最后一个同学开始输入,一直到排在第 1 位的挨着打菜窗口的同学,按照这个顺序输入),计算出每个人的前面能看到几个人,应该如何解决呢?
请注意:一个同学能够看到的人是在他前面且身高严格低于他的人,并且他的视线会被在他前面第一个身高大于等于他的人挡住。也就是说无论如何也无法看到再前面的人。
Input Format
输入 N+1 行。
第一行一个正整数 N 表示同学的个数。
以下 N 行分别表示从后到前(窗口)同学的身高。
Output Format
一行一个整数,表示所有同学能看到的人的个数和。6
10
3
7
4
12
2
5
Hint
【数据范围】
30% 的数据 1≤N≤100。
100% 的数据 1≤N≤80000,第 i 个人的身高 ai 在 [1,109] 的范围内。
Source
STL 单调栈相关
在下列比赛中: