暴食之史莱姆
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

n只史莱姆排成一条线,史莱姆们从左到右编号依此为1n。第i只史莱姆的体积为a_i

史莱姆可以吃掉他的邻居,当且仅当他的体积大于等于邻居时,但是受到世界规则的限制,他的体积会变为被吃掉的邻居的体积。

在满足题意情况下每个史莱姆都可以被吃掉,在最优情况下,每个史莱姆最多可以吃多少个同伴。

输入描述:

第一行包含一个整数n(1 \le n\le2 \cdot 10^5)

第二行包含n个整数a[1],a[2]....,a[n](0\le a[i]\le 10^9)

输出描述:

一行,用空格隔开的 n 个整数。第 i 个整数表示第 i 个史莱姆最多可以吃多少个同伴。
示例1

输入

复制
4
1 4 2 4

输出

复制
0 2 1 2
示例2

输入

复制
5
1 2 3 4 5

输出

复制
0 1 2 3 4

备注:

只要满足题目条件所有的史莱姆均可以吃掉自己相邻的史莱姆。

样例一:

对于1号史莱姆,显然无法吃掉任何一个史莱姆,所以最多吃0个;

对于2号史莱姆,可以先吃3号史莱姆他的体积变为2然后他再吃掉1号史莱姆体积变为1,所以最多吃2个;

对于3号史莱姆,先让2号史莱姆吃掉1号史莱姆,2号史莱姆的体积变为1,再让3号史莱姆吃到2号史莱姆。所以最多吃1个;

对于4号史莱姆,先让4号史莱姆吃掉3号史莱姆这时候4号体积变为2。让2号史莱姆吃掉1号史莱姆这时候2号史莱姆的体积为1,再让4号史莱姆吃掉2号史莱姆,所以最多吃2个。