P12268 [蓝桥杯 2024 国 Python B] 球衣号码

题目描述

在篮球之都,有一支传奇的篮球队,名为“坤之队”。这支球队由 $n$ 位才华横溢的球员组成,编号分别为 $1, 2, \ldots, n$。 今年,坤之队共参加了 $m$ 场激烈的比赛。在每场比赛前,坤之队的教练阿坤都会举行一个出征仪式。他会指定其中一名球员为队长,并将其球衣的号码设为 $0$。同时,为了保持队员之间的秩序和团结,教练还会对其他球员的球衣号码进行调整。具体来说,站在队长右边的每个球员的球衣号码将比他左边球员的球衣号码大 $1$,而站在队长左边的每个球员的球衣号码将比他右边球员的球衣号码大 $1$。球队中可能会有相同的球衣号码。 举个例子,假设坤之队有 $n = 5$ 名球员,阿坤在一场比赛前指定编号为 $3$ 的球员为队长,那么球员们球衣的号码就会变为 $[2, 1, 0, 1, 2]$。 经过 $m$ 轮比赛的激烈角逐后,阿坤希望你能帮助他确定,每个球员所拥有过的最大球衣号码是多少。

输入格式

输入的第一行包含两个正整数 $n$ 和 $m$,用一个空格分隔,分别表示球员数量和比赛场次数。 第二行包含 $m$ 个整数 $p_1, p_2, \ldots, p_m$,表示每场比赛前被指定为队长的球员的编号。

输出格式

输出一行包含 $n$ 个整数,相邻整数之间使用一个空格分隔,依次表示每个球员所拥有过的最大球衣编号。

说明/提示

### 样例说明 - 在第一场比赛的出征仪式中,阿坤指定了编号为 1 的球员为队长。此时球员们的球衣号码为: $$[0,1,2,3,4,5]$$ - 在第二场比赛的出征仪式中,阿坤指定了编号为 3 的球员为队长。此时球员们的球衣号码为: $$[2,1,0,1,2,3]$$ - 因此,每个球员所拥有过的最大球衣号码为: $$[2,1,2,3,4,5]$$ ### 评测用例规模与约定 - 对于 $20\%$ 的评测用例,$1 \leq m \leq n \leq 100$,$1 \leq p_i \leq n$,$p_1, p_2, \ldots, p_m$ 各不相同。 - 对于 $50\%$ 的评测用例,$1 \leq m \leq n \leq 10^3$,$1 \leq p_i \leq n$,$p_1, p_2, \ldots, p_m$ 各不相同。 - 对于所有评测用例,$1 \leq m \leq n \leq 10^5$,$1 \leq p_i \leq n$,$p_1, p_2, \ldots, p_m$ 各不相同。