译自 ROI 2018 Day2 T3. Робомарафон (Robomarathon)
有 $N$ 名机器人选手参加马拉松,选手的编号分别为 $1\ldots N$。跑道包含 $N$ 条分道,编号分别为 $1\ldots N$。每位选手占据一条分道,$i$ 号选手(简称 $i$ 号)占据编号为 $i$ 的分道(简称 $i$ 道)。每条分道从起点到终点的路程均相同。已知 $i$ 号跑完全程需要 $a_i$ 秒。
每条分道的起始点有一个发令喇叭,不过不是播声音的。裁判皮了一下,把有些分道上的发令喇叭关掉了。
时辰一到,所有开着的发令喇叭会同时发出起跑信号(下文简称发炮)。如果 $i$ 道上发炮,$i$ 号会立即起跑。
发令信号的传递速度为每秒钟 1 道。举个例子,如果有且只有四道上发炮,那么一秒后三号和五号会收到信号并立即起跑;两秒后二号和六号会收到信号并立即起跑。假设 $i$ 号在第 $x_i$ 秒起跑,则他会在第 $f_i =$ $a_i + x_i$ 秒冲线。
我们按照冲线顺序给选手排名。比如,如果 $n=3,$ $f_1=$ $f_2=$ $4,$ $f_3=$ $5,$ 那么一号和二号并列第一,三号屈居第三。
可见,选手的排名取决于发令喇叭的开关状态。请求出每位选手的最好名次或最差名次。