{"raw_statement":[{"iden":"background","content":"译自 [ROI 2018 Day2](https://neerc.ifmo.ru/school/archive/2017-2018.html) T3. [Робомарафон](https://neerc.ifmo.ru/school/archive/2017-2018/ru-olymp-roi-2018-day2.pdf) ([Robomarathon](https://codeforces.com/gym/102154/problem/D))。"},{"iden":"statement","content":"有 $N$ 名机器人选手参加马拉松，选手的编号分别为 $1\\ldots N$。跑道包含 $N$ 条分道，编号分别为 $1\\ldots N$。每位选手占据一条分道，$i$ 号选手（简称 $i$ 号）占据编号为 $i$ 的分道（简称 $i$ 道）。每条分道从起点到终点的路程均相同。已知 $i$ 号跑完全程需要 $a_i$ 秒。\n\n每条分道的起始点有一个发令喇叭，不过不是播声音的。裁判皮了一下，把有些分道上的发令喇叭关掉了。\n\n时辰一到，所有开着的发令喇叭会同时发出起跑信号（下文简称发炮）。如果 $i$ 道上发炮，$i$ 号会立即起跑。\n\n发令信号的传递速度为每秒钟 $1$ 道。举个例子，如果有且只有四道上发炮，那么一秒后三号和五号会收到信号并立即起跑；两秒后二号和六号会收到信号并立即起跑。假设 $i$ 号在第 $x_i$ 秒起跑，则他会在第 $f_i = a_i + x_i$ 秒冲线。\n\n我们按照冲线顺序给选手排名。比如，如果 $n=3$， $f_1= f_2= 4$，$f_3= 5$, 那么一号和二号并列第一，三号屈居第三。\n\n可见，选手的排名取决于发令喇叭的开关状态。请求出每位选手的最好名次或最差名次。"},{"iden":"input","content":"第一行：$n$，$p$。\n\n接下来一行 $n$ 个数，表示 $a_1$，$a_2 \\ldots a_n$。"},{"iden":"output","content":"如果 $p=1$，输出最好名次。\n\n如果 $p=2$， 输出最差名次。"},{"iden":"note","content":"对于所有数据，$1 \\leq n \\leq 4 \\times 10^5$，$0\\leq a_i \\leq 10^9$。\n\n| 子任务编号 | $n$ | $p$ |\n| :-----------: | :-----------: | :-----------: |\n| $1$ | $1 \\leq n \\leq 20$ | $p = 1$ |\n| $2$ | $1 \\leq n \\leq 20$ | $p = 2$ |\n| $3$ | $1 \\leq n \\leq 4 \\times 10^5$ | $p = 1$ |\n| $4$ | $1 \\leq n \\leq 4 \\times 10^5$ | $p = 2$ | \n\n其中，Subtask 3 和 4 内的每个测试点 1 分，加和计算。\n"}],"translated_statement":null,"sample_group":[["5 1\n8 5 5 7 7","3\n1\n1\n2\n1"],["5 2\n8 5 5 7 7","5\n3\n2\n4\n5"]],"show_order":[],"formal_statement":null,"simple_statement":null,"has_page_source":false}