AT_code_festival_qualB_d 登山家

题目描述

高桥君是登山家,现在正在登山。 这个山脉上 $N$ 个山中小屋自西向东沿一条直线排列,从 $1$ 到 $N$ 编号。 第 $i$ 个山中小屋建于海拔 $h_i$ 处。 高桥君想知道从各小屋能看到几个山中小屋。 从第 $i$ 个山中小屋可以看到第 $j$ 个山中小屋的条件是:其间的所有山中小屋和第 $j$ 个山中小屋的海拔全部小于等于 $h_i$。 求从各山中小屋可以看到的山中小屋的个数。 另外,从第 $i$ 个山中小屋可以看到的山中小屋不包括它自己。

输入格式

输入按以下格式从标准输入输入: > $N$ > $h_1$ > $h_2$ > $\vdots$ > $h_N$ + 输入第一行为山中小屋的个数 $N(1\le N\le 10^5)$。 + 从第二行开始的 $N$ 行中,第 $i$ 行为一个整数 $h_i(1\le h_i\le 10^5)$ 表示第 $i$ 个山中小屋的海拔。

输出格式

输出由 $N$ 行组成,其中第 $i$ 行表示从第 $i$ 个山中小屋能看到的山中小屋的数量。

说明/提示

**部分分数** 这个问题有部分分数。 + 如果对满足 $1\le N\le 3000$ 的数据集给出正确答案,将获得 30 分。 + 如果对满足 $1\le N\le 10^5$ 的数据集给出正确答案,将额外获得 70 分。总共 100 分。 注:对于所有数据,满足 $1\le N\le 10^5,1\le h_i\le 10^5$。 **样例 1 解释** 对于每个山中小屋,你可以看到它西边的所有山中小屋,除了它自己。 **样例 2 解释** 从第 $1$ 个和第 $5$ 个山中小屋不能看到其他山中小屋。从第 $2$ 个山中小屋可以看到第 $1$ 个山中小屋。从第 $4$ 个山中小屋可以看到第 $5$ 个山中小屋。从第 $3$ 个山中小屋可以看到它自己以外的所有山中小屋。 **样例 3 解释** 请注意从一个山中小屋可以看到与它海拔相同的另一个山中小屋。 使用 DeepSeek R1 协助翻译。