luogu#P9292. [ROI 2018] Robomarathon

[ROI 2018] Robomarathon

题目背景

译自 ROI 2018 Day2 T3. Робомарафон (Robomarathon)。

题目描述

NN 名机器人选手参加马拉松,选手的编号分别为 1N1\ldots N。跑道包含 NN 条分道,编号分别为 1N1\ldots N。每位选手占据一条分道,ii 号选手(简称 ii 号)占据编号为 ii 的分道(简称 ii 道)。每条分道从起点到终点的路程均相同。已知 ii 号跑完全程需要 aia_i 秒。

每条分道的起始点有一个发令喇叭,不过不是播声音的。裁判皮了一下,把有些分道上的发令喇叭关掉了。

时辰一到,所有开着的发令喇叭会同时发出起跑信号(下文简称发炮)。如果 ii 道上发炮,ii 号会立即起跑。

发令信号的传递速度为每秒钟 11 道。举个例子,如果有且只有四道上发炮,那么一秒后三号和五号会收到信号并立即起跑;两秒后二号和六号会收到信号并立即起跑。假设 ii 号在第 xix_i 秒起跑,则他会在第 fi=ai+xif_i = a_i + x_i 秒冲线。

我们按照冲线顺序给选手排名。比如,如果 n=3n=3f1=f2=4f_1= f_2= 4f3=5f_3= 5, 那么一号和二号并列第一,三号屈居第三。

可见,选手的排名取决于发令喇叭的开关状态。请求出每位选手的最好名次或最差名次。

输入格式

第一行:nnpp

接下来一行 nn 个数,表示 a1a_1a2ana_2 \ldots a_n

输出格式

如果 p=1p=1,输出最好名次。

如果 p=2p=2, 输出最差名次。

5 1
8 5 5 7 7
3
1
1
2
1
5 2
8 5 5 7 7
5
3
2
4
5

提示

对于所有数据,1n4×1051 \leq n \leq 4 \times 10^50ai1090\leq a_i \leq 10^9

子任务编号 nn pp
11 1n201 \leq n \leq 20 p=1p = 1
22 p=2p = 2
33 1n4×1051 \leq n \leq 4 \times 10^5 p=1p = 1
44 p=2p = 2