Problem4563--山峰

4563: 山峰

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

Rocky山脉有 $n$ 个山峰,一字排开,从西向东依次编号为 $1,\ 2,\ 3,\ \dots,\ n$。每个山峰的高度都是不一样的。编号为 $i$ 的山峰高度为 $h_i$。
小修从西往东登山。每到一座山峰,她就回头观望自己走过的艰辛历程。在第 $i$ 座山峰,她记录下自己回头能看到的山峰数 $s_i$。
何谓“能看到”?如果在第 $i$ 座山峰,存在 $j<k<i,\ h_j<h_k$,那么第 $j$ 座山峰就是不可见的。除了不可见的山峰,其余的山峰都是可见的。
回家之后,小修把所有的 $s_i$ 加起来得到 $S$ 作为她此次旅行快乐值。现在 $n$ 座山峰的高度都提供给你了,你能计算出小修的快乐值吗?

Input

第一行一个整数 $n\ (n \leq 15,000)$。
第 $i+1\ (1 \leq i \leq n)$ 行是一个整数 $h_i\ (h_i \leq 10^9)$

Output

仅一行:快乐值。

Sample 1 Input

5
2
1
3
5
9

Sample 1 Output

5
$s_1=0,\ s_2=1,\ s_3=2,\ s_4=1,\ s_5=1$。

Source/Category

数据结构 2.2.栈