#J1629. 视野

    ID: 20 传统题 文件IO:view 1000ms 256MiB 尝试: 3 已通过: 2 难度: 10 上传者: 标签>附标J4数据结构链表单调栈2018CSPJ初赛三2

视野

【题目描述】:

文景班上有 NN1N21051\le N \le 2\cdot 10^5)名同学,他们的身高都不相同,班主任老师按照他们的身高从矮到高依次给他们安排学号 1N1\sim N

每天做早操时,他们班都随意的排成了一列,用 A={a1aN}A=\{a_1 \cdots a_N\}序列依次表示当前排列每个同学的学号。显然前面身高高的同学会遮挡注后面身高矮的同学的视野。我们用 viv_i 表示排在第 ii 位的同学的视野长度,假设存在最大的 jjj<ij<i ,且 aj>aia_j>a_i,则 vi=ijv_i=i-j;如果不存在这样的 jj,则 vi=iv_i=i

这不今天的早操文景感到非常压抑,原来是他前面的同学身高超过了他。

现在给定一个 AA 序列,请你依 AA 序列的顺序,输出每个同学在 AA 序列中的视野长度。

【输入描述】:

第一行一个正整数 NN

第二行 1N1\sim N 的一个排列,表示一个 AA 序列;

【输出描述】:

按照 AA 序列的顺序,给出每个同学的视野长度。

【样例输入】:

6
3 5 2 4 1 6

【样例输出】:

1 2 1 2 1 6

【样例解释】:

{3,5,2,4,1,6}\{3,5,2,4,1,6\}

其中 3,53,5 视野没有遮挡,由 vi=iv_i=i 可知为 1,21,2

2,42,4 的前方有 55 遮挡,由 vi=ijv_i=i-j 可知为 1,21,2

11 的前方有 44 遮挡,故为 11

66 的前方没有遮挡,故为 66

【数据范围及描述】:

对于 30%30\% 的数据:1N1041\le N \le 10^4

对于 100%100\% 的数据:1N21051\le N \le 2\cdot 10^51ai1061\le a_i \le 10^6

ex_view1.inex_view1.outex_view2.inex_view2.outex_view3.inex_view3.out