QOJ.ac

QOJ

Time Limit: 1.5 s Memory Limit: 64 MB Total points: 100

#12617. 中国人

Statistics

包含 K 理事长在内的 $N$ 名日本信息学奥林匹克委员会成员来到了一家中餐馆。

餐馆的餐桌是圆形的,有 $N$ 个等间距排列的座位。桌子中央有一个放置菜肴的转盘。$N$ 名委员坐在 $N$ 个座位上,以 K 理事长为 1 号,按逆时针方向依次编号为 $2, 3, \dots, N$。委员会点了 $N$ 种菜肴,每种各一份,并放置在转盘上。菜肴放置在委员面前,委员 $i$ ($1 \le i \le N$) 面前放置的是菜肴 $i$。除 K 理事长外,每位委员都决定好了一种想吃的菜肴,委员 $i$ ($2 \le i \le N$) 想吃的菜肴是 $A_i$。

转盘可以以 $(360/N)$ 度为单位,沿顺时针或逆时针方向旋转。 例如,将转盘逆时针旋转 1 个单位,K 理事长的面前会变为菜肴 $N$,委员 $i$ ($2 \le i \le N$) 的面前会变为菜肴 $i-1$。 某位委员要吃某道菜,必须转动转盘,使该菜肴移动到其面前。

由于 K 理事长在日本信息学奥林匹克委员会中备受尊敬,首先由 K 理事长转动转盘,使菜肴 $k$ ($1 \le k \le N$) 移动到其面前并食用。 在 K 理事长食用菜肴后,其他委员各自转动转盘,使自己想吃的菜肴移动到面前并食用。注意,除 K 理事长外,其他委员转动转盘的顺序可以是任意的。 此外,假设每种菜肴的量都充足,不会被吃完。

为了应对 K 理事长选择任何菜肴的情况,请针对每个 $k$,预先确定除 K 理事长外其他委员转动转盘的顺序和方式,使得所有人都能吃到菜,且转动转盘的总量最小。

任务

给定每位委员 $i$ ($2 \le i \le N$) 想吃的菜肴 $A_i$,对于 K 理事长吃的每种菜肴 $k$ ($1 \le k \le N$),求出转动转盘的总量的最小值,单位为 $(360/N)$ 度。

输入格式

从标准输入读取以下内容: 第 1 行包含一个整数 $N$,表示日本信息学奥林匹克委员会的人数。 接下来 $N-1$ 行包含各委员想吃的菜肴信息。第 $i$ 行 ($2 \le i \le N$) 包含一个整数 $A_i$,表示委员 $i$ 想吃的菜肴是 $A_i$。

输出格式

输出共 $N$ 行。第 $k$ 行 ($1 \le k \le N$) 输出 K 理事长吃菜肴 $k$ 时,转动转盘总量的最小值。转动量以 $(360/N)$ 度为 1 个单位。

数据范围

  • $2 \le N \le 100\,000$
  • $1 \le A_i \le N$

子任务

  • 对于 10% 的测试数据,满足 $N \le 10$。
  • 对于 40% 的测试数据,满足 $N \le 1\,000$。

样例

输入 1

5
3
5
3
2
4

输出 1

4
4
5
6
4

在这种情况下,5 名委员在圆桌上的座位如图所示:

例如,考虑 $k=3$ 的情况(K 理事长吃菜肴 3),使转动总量最小的转动方式如下:

  • K 理事长(委员 1)将转盘顺时针转动 2 个单位,吃掉菜肴 3。
  • 委员 3 不转动转盘,吃掉菜肴 5。
  • 委员 5 不转动转盘,吃掉菜肴 2。
  • 委员 2 将转盘逆时针转动 1 个单位,吃掉菜肴 3。
  • 委员 4 将转盘逆时针转动 2 个单位,吃掉菜肴 3。

此时,转动转盘的总量为 $2 + 1 + 2 = 5$ 个单位,因此在输出的第 3 行输出 5。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.