#ABC359E. 水槽

水槽

水槽

题目描述

有一个很长的水槽,等间隔地放置着高度各不相同的挡板。高桥君想知道,从水槽的一端注水时,水到达被挡板分隔开的每个区段的时间。

给定一个长度为 NN 的正整数序列 H=(H1,H2,,HN)H=(H_1,H_2,\dotsc,H_N)

另有一个长度为 N+1N+1 的非负整数序列 A=(A0,A1,,AN)A=(A_0,A_1,\dotsc,A_N)。初始时,A0=A1==AN=0A_0=A_1=\dotsb=A_N=0

AA 反复执行以下操作:

  1. A0A_0 的值增加 11
  2. i=1,2,,Ni=1,2,\ldots,N 的顺序,依次执行以下操作:
    • 如果 Ai1>AiA_{i-1}\gt A_iAi1>HiA_{i-1}\gt H_i,则将 Ai1A_{i-1} 的值减 11,并把 AiA_i 的值增加 11

对每个 i=1,2,,Ni=1,2,\ldots,N,求 Ai>0A_i\gt 0 首次成立时,已经执行了多少次操作。

输入格式

输入按以下格式从标准输入给出:

NN
H1H_1 H2H_2 \dotsc HNH_N

输出格式

在一行内,用空格分隔输出 i=1,2,,Ni=1,2,\ldots,N 的答案。

样例

5
3 1 4 1 5
4 5 13 14 26

前 5 次操作后 AA 的状态依次如下(每次操作都先执行步骤 1,再执行步骤 2):

(1,0,0,0,0,0)
(2,0,0,0,0,0)
(3,0,0,0,0,0)
(3,1,0,0,0,0)
(3,1,1,0,0,0)

由此可知,A1>0A_1\gt 0 在第 4 次操作后首次成立,A2>0A_2\gt 0 在第 5 次操作后首次成立。

类似地,A3,A4,A5A_3,A_4,A_5 的答案分别为 13,14,2613,14,26。因此应输出 4 5 13 14 26。

6
1000000000 1000000000 1000000000 1000000000 1000000000 1000000000
1000000001 2000000001 3000000001 4000000001 5000000001 6000000001

注意,输出的值可能无法放入 32 位整数。

15
748 169 586 329 972 529 432 519 408 587 138 249 656 114 632
749 918 1921 2250 4861 5390 5822 6428 6836 7796 7934 8294 10109 10223 11373

数据范围

  • 1N2×1051 \le N \le 2\times10^5
  • 1Hi109 (1iN)1 \le H_i \le 10^9\ (1 \le i \le N)
  • 输入均为整数。
难度 提高
通过率
尝试 0
已通过 0
ID
3337
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签