P17192 [KOI 2026 #2] 拉开距离

题目描述

有 $N$ 名学生要站在数轴上。在数轴上,数值越大,位置越靠右。 学生按照编号从 $1$ 到 $N$ 的顺序由左向右站立,且所有学生所站的位置均为整数。 记第 $i$($1 \le i \le N$)名学生所站的位置为 $B_i$。学生所站的位置必须满足以下条件: - 对于每个整数 $i$($1 \le i \le N$),第 $i$ 名学生不能站在位置 $A_i$ 的右侧。也就是说,必须满足 $B_i \le A_i$。 - 编号相邻的两名学生之间必须至少相距 $K$。也就是说,对于每个整数 $i$($1 \le i \le N-1$),必须满足 $B_{i+1}-B_i \ge K$。 当 $K=0$ 时,多名学生可以站在同一位置。 学生们希望让第 $1$ 名学生的位置 $B_1$ 尽可能大。 请找出一种满足所有条件的站立方案 $[B_1,B_2,\cdots,B_N]$,使得 $B_1$ 的值最大。如果存在多种方案,输出其中任意一种即可。 可以证明,至少存在一种满足条件的站立方案。

输入格式

第一行依次给出两个以空格分隔的整数 $N$ 和 $K$。 第二行依次给出 $N$ 个以空格分隔的整数 $A_1,A_2,\cdots,A_N$。

输出格式

第一行输出 $N$ 个以空格分隔的整数 $B_1,B_2,\cdots,B_N$。学生的站立方案 $[B_1,B_2,\cdots,B_N]$ 必须满足题面中的所有条件,且 $B_1$ 的值必须达到最大。 如果存在多种可行输出,输出其中任意一种均视为正确。

说明/提示

### 限制条件 - 给出的所有数均为整数。 - $1 \le N \le 100$ - $0 \le K \le 10$ - 对于每个整数 $i$($1 \le i \le N$),$1 \le A_i \le 100$ ### 子任务 1. ($25$ 分)对于每个整数 $i$($1 \le i \le N-1$),$A_{i+1}-A_i \ge K$。 2. ($35$ 分)$K=0$。 3. ($30$ 分)在所有满足条件的站立方案中,存在一种方案满足 $0 \le B_1 \le 100$。 4. ($10$ 分)没有额外限制。 翻译由 ChatGPT-5.6 完成