#P17192. [KOI 2026 #2] 拉开距离

    ID: 17367 Type: RemoteJudge 1000ms 1024MiB Tried: 0 Accepted: 0 Difficulty: 1 Uploaded By: Tags>模拟Special Judge2026KOI(韩国)

[KOI 2026 #2] 拉开距离

题目描述

有 NN 名学生要站在数轴上。在数轴上,数值越大,位置越靠右。

学生按照编号从 11 到 NN 的顺序由左向右站立,且所有学生所站的位置均为整数。

记第 ii(1≤i≤N1 \le i \le N)名学生所站的位置为 BiB_i。学生所站的位置必须满足以下条件:

  • 对于每个整数 ii(1≤i≤N1 \le i \le N),第 ii 名学生不能站在位置 AiA_i 的右侧。也就是说,必须满足 Bi≤AiB_i \le A_i。
  • 编号相邻的两名学生之间必须至少相距 KK。也就是说,对于每个整数 ii(1≤i≤N−11 \le i \le N-1),必须满足 Bi+1−Bi≥KB_{i+1}-B_i \ge K。

当 K=0K=0 时,多名学生可以站在同一位置。

学生们希望让第 11 名学生的位置 B1B_1 尽可能大。

请找出一种满足所有条件的站立方案 [B1,B2,⋯ ,BN][B_1,B_2,\cdots,B_N],使得 B1B_1 的值最大。如果存在多种方案,输出其中任意一种即可。

可以证明,至少存在一种满足条件的站立方案。

输入格式

第一行依次给出两个以空格分隔的整数 NN 和 KK。

第二行依次给出 NN 个以空格分隔的整数 A1,A2,⋯ ,ANA_1,A_2,\cdots,A_N。

输出格式

第一行输出 NN 个以空格分隔的整数 B1,B2,⋯ ,BNB_1,B_2,\cdots,B_N。学生的站立方案 [B1,B2,⋯ ,BN][B_1,B_2,\cdots,B_N] 必须满足题面中的所有条件,且 B1B_1 的值必须达到最大。

如果存在多种可行输出,输出其中任意一种均视为正确。

5 2
1 4 10 9 13
1 4 6 9 12
4 0
5 2 7 3
2 2 3 3
4 3
2 1 5 9
-2 1 5 8

提示

限制条件

  • 给出的所有数均为整数。
  • 1≤N≤1001 \le N \le 100
  • 0≤K≤100 \le K \le 10
  • 对于每个整数 ii(1≤i≤N1 \le i \le N),1≤Ai≤1001 \le A_i \le 100

子任务

  1. (2525 分)对于每个整数 ii(1≤i≤N−11 \le i \le N-1),Ai+1−Ai≥KA_{i+1}-A_i \ge K。
  2. (3535 分)K=0K=0。
  3. (3030 分)在所有满足条件的站立方案中,存在一种方案满足 0≤B1≤1000 \le B_1 \le 100。
  4. (1010 分)没有额外限制。

翻译由 ChatGPT-5.6 完成