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

    ID: 19508 远端评测题 1000ms 1024MiB 尝试: 0 已通过: 0 显示难度暂无评定 上传者: 标签>Special Judge2026KOI(韩国)

[KOI 2026 #2] 拉开距离

题目描述

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

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

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

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

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

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

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

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

输入格式

第一行依次给出两个以空格分隔的整数 NNKK

第二行依次给出 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

提示

限制条件

  • 给出的所有数均为整数。
  • 1N1001 \le N \le 100
  • 0K100 \le K \le 10
  • 对于每个整数 ii1iN1 \le i \le N),1Ai1001 \le A_i \le 100

子任务

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

翻译由 ChatGPT-5.6 完成