题目详情
返回题库题目描述
有一个长长的水箱,上面等间隔地放着不同高度的木板。高桥想知道,从水箱的一端倒水时,水到达每一段的时间
给你一个长度为N的正整数序列:H=($H_1,H_2,.....H_N$)
有一个长度为N+1的非负整数序列:A=($A_0,A_1,A_2,.....A_N$).最初为$A_0$=$A_1$=⋯=$A_N$=0
对A重复进行以下运算:
- 将$A_0$的值增加1。
- 依次对i=1,2,…,N进行以下操作:
- 如果$A_{i-1}$>$A_i$和$A_{i-1}$>$H_i$,则将$A_{i-1}$的值减少 1,并将$A_i$的值增加1。
求每个i=1,2,…,N在$A_i$首次成立之前的运算次数。
输入描述
第一行一个整数N
第二行N个整数$H_1,H_2....H_N$
数据范围:
- 1≤N≤2×$10^5$
- 1≤$H_i$≤$10^9$(1≤i≤N)
输出描述
输出水到达1,2,3....N的时间,用空格隔开
提示
样例1解释:
前五次操作如下
这里,每一行对应一个操作,最左边的一列代表步骤 1,其他列代表步骤 2。

从图中可以看出,A1>0在第 4 次操作后第一次成立,而A2>0在第 5 次操作后第一次成立。
同样,A3,A4,A5的答案分别是13,14,26
因此,您应该打印4 5 13 14 26。