#P9707. 「ROI2018」机器人马拉松

    ID: 6338 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>数据结构树状数组算法基础贪心ROI2018

「ROI2018」机器人马拉松

题目描述

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

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

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

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

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

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

输入格式

第一行:n,p,n,p, p=1p=12,2, 11 表示你需要求出最好名次,22 表示你需要求出最差名次。
第二行:a1ana_1\ldots a_n

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

数据范围与提示

对于所有数据,0<ai1090<a_i\le 10^9

子任务 # 分值 测试点数量 nn⩽ p=p= 计分方式
1 10 2020 11 min
2  10  22
3 30  30  4×1054\times 10^5 11 sum
4 50  50  22

子任务 #3 中,各测试点的大小:

测试点 n=n= 测试点 n=n= 测试点 n=n= 测试点 n=n= 测试点 n=n=
1 100 100 7 1.5×1041.5×10^4 13 7×1047×10^4 19 1.3×1051.3×10^5 25 2×1052×10^5
2 500 500 8 2×1042×10^4 14 8×1048×10^4 20 1.4×1051.4×10^5 26 2.4×1052.4×10^5
3 10001000 9 3×1043×10^4 15 9×1049×10^4 21 1.5×1051.5×10^5 27 2.8×1052.8×10^5
4 25002500 10 4×1044×10^4 16 9999999999 22 1.6×1051.6×10^5 28 3.2×1053.2×10^5
5 49994999 11 5×1045×10^4 17 1.1×1051.1×10^5 23 1.7×1051.7×10^5 29 3.6×1053.6×10^5
6 10410^4 12 6×1046×10^4 18 1.2×1051.2×10^5 24 1.8×1051.8×10^5 30 4×1054×10^5

子任务 #4 中,各测试点的大小:

测试点 n=n= 测试点 n=n= 测试点 n=n= 测试点 n=n= 测试点 n=n=
1 100100 11 25002500 21 3×1043\times 10^4 31 109999109999 41 2.2×1052.2\times 10^5
2 200200 12 30003000 22 3.5×1043.5\times 10^4 32 1.2×1051.2\times 10^5 42 2.4×1052.4\times 10^5
3 300300 13 40004000 23 4×1044\times 10^4 33 1.3×1051.3\times 10^5 43 2.6×1052.6\times 10^5
4 400400 14 49994999 24 4.5×1044.5\times 10^4 34 1.4×1051.4\times 10^5 44 2.8×1052.8\times 10^5
5 500500 15 75007500 25 5×1045\times 10^4 35 1.5×1051.5\times 10^5 45 3×1053\times 10^5
6 750750 16 10410^4 26 6×1046\times 10^4 36 1.6×1051.6\times 10^5 46 3.2×1053.2\times 10^5
7 10001000 17 1.25×1041.25\times 10^4 27 7×1047\times 10^4 37 1.7×1051.7\times 10^5 47 3.4×1053.4\times 10^5
8 12501250 18 1.5×1041.5\times 10^4 28 8×1048\times 10^4 38 1.8×1051.8\times 10^5 48 3.6×1053.6\times 10^5
9 15001500 19 2×1042\times 10^4 29 9×1049\times 10^4 39 1.9×1051.9\times 10^5 49 3.8×1053.8\times 10^5
10 19991999 20 2.5×1042.5\times 10^4 30 9999999999 40 2×1052\times 10^5 50 4×1054\times 10^5