河狸们居住在
有时,在某些岛上居住的河狸们要聚集到一个岛上开会。当一场会议的出席者确定了之后,满足以下条件的一个岛就被选为开会地址:
- 参会者为了到达这个岛开会所需要经过桥的数量的总和是最小的。
这里,当会议的出席者确定时,每位出席者都会经过最少数量的桥前往开会所在岛。
会议出席者都希望会议的候选岛很多。当一场会议的出席者确定时,这场会议的期待值等于满足以上条件的岛的个数。对于每个从
给定这些岛的信息,写一个程序计算对每一个参会河狸数,这场会议的最大期待值是多少。
输入格式
第一行一个整数
接下来
输出格式
输出
样例一
input
5 1 2 2 3 4 2 3 5
output
1 4 1 2 1
explanation
例如,我们考虑居住在岛
- 如果他们在岛
聚集,住在岛 的河狸不需要过桥,住在岛 的河狸需要经过 座桥,总和为 ; - 如果他们在岛
聚集,他们经过桥的数量总和为 ; - 如果他们在岛
聚集,他们经过桥的数量总和为 ; - 如果他们在岛
聚集,他们经过桥的数量总和为 ; - 如果他们在岛
聚集,他们经过桥的数量总和为 ;
所以候选岛为岛
样例二
input
7 1 2 2 3 3 4 4 5 2 6 3 7
output
1 5 1 3 1 2 1
限制与约定
对于所有数据,保证:
- 保证可以通过桥从一个岛前往任意一个岛
详细子任务附加条件及分值如下表:
子任务编号 | 附加条件 | 分值 |
---|---|---|
无附加限制 |
时间限制:
空间限制: