1438. 小鱼比身高(单调栈模板)

人比人,气死人;鱼比鱼,难死鱼。小鱼最近参加了一个「比身高」比赛,比的是每只鱼的身高。参赛的鱼被从左到右排成一排,头都朝向左边,然后每只鱼会得到一个整数数值,表示这只鱼的身高,很显然整数越大,表示这只鱼越高... 好了编不下去了。

// 以上都是废话。

n 条鱼从左到右排成一排,每条鱼有一个高度 h_i

设左数第 i 条鱼与「它左边第一条高度 \geq h_i 」的鱼之间有 c_i 条鱼(对于 i ≠ j,第 i 条鱼和第 j 条鱼之间有 |j-i|-1 条鱼)。

如果这条鱼左边所有的鱼都比他矮或者他的左边没有鱼,c_i=i-1

计算 c_i 的值。

// 鱼还比身高就离谱... 至少也应该是比长度吧...

输入

第一行一个整数 n \ (1 ≤ n ≤ 10^5)

接下来 n 个整数 h_1,h_2,...,h_n \ (1 ≤ h_i ≤ 10^9)

输出

输出 n 行,每行输出一个整数,第 i 行输出 c_i 的值。

样例

标准输入 复制文本
12
1 1 4 5 1 4 1 1 4 5 1 4
标准输出 复制文本
0
0
2
3
0
1
0
0
2
5
0
1
登录以提交代码。
单点时限 2 秒
内存限制 1024 MB
提交 140
通过 82