传统题 2000ms 1024MiB

Buildings

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

Buildings

题目描述

有 NN 幢建筑,建筑 11、建筑 22、…\ldots、建筑 NN,按此顺序排成一行。第 ii 幢建筑的高度为 HiH_i(1≤i≤N1 \leq i \leq N)。 对于每个 i=1,2,…,Ni = 1, 2, \ldots, N,求满足以下条件的整数 jj 的个数(i<j≤Ni < j \leq N):

在建筑 ii 和建筑 jj 之间不存在比建筑 jj 更高的建筑。

输入格式

输入从标准输入给出,格式如下: NN H1H_1 H2H_2 …\ldots HNH_N

输出格式

对于每个 i=1,2,…,Ni = 1, 2, \ldots, N,设 cic_i 为满足条件的 jj 的个数。按顺序输出 c1,c2,…,cNc_1, c_2, \ldots, c_N,用空格分隔。

5
2 1 4 3 5
3 2 2 1 0
4
1 2 3 4
3 2 1 0
10
1 9 6 5 2 7 10 4 8 3
2 3 3 3 2 1 2 1 1 0

提示

1≤N≤2×1051 \leq N \leq 2 \times 10^5 1≤Hi≤N1 \leq H_i \leq N Hi≠Hj (i≠j)H_i\neq H_j\ (i\neq j) 所有输入值均为整数。当 i=1i=1 时,满足条件的整数 jj 为 22、33 和 55:共有三个。(在建筑 11 和 44 之间,有一幢比建筑 44 更高的建筑,即建筑 33,所以 j=4j=4 不满足条件。)因此输出的第一个数是 33。

标签: AtCoder|abc372D

来源

AtCoder|abc372D