列表

详情


NC53323. 机器人马拉松

描述

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

输入描述

第一行:n,p,p=1或2,1表示你需要求出最好名次,2表示你需要求出最差名次。
第二行:

输出描述

输出n行。每行包含一个整数,表示第i个选手的最好名次或最差名次。

示例1

输入:

5 1
8 5 5 7 7

输出:

3
1
1
2
1

示例2

输入:

5 2
8 5 5 7 7

输出:

5
3
2
4
5

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

上一题