CF732B.Cormen — The Best Friend Of a Man

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Cormen — The Best Friend Of a Man

题目描述

最近,Polycarp 买了一条狗,这条狗的名字叫 Cormen。现在,Polycarp 遇到了很多麻烦。例如,Cormen 很喜欢出去散步。

Polycarp 通过经验得知,为了让狗狗感觉良好,对任意相邻的两天,散步的总次数至少要有 kk 次。例如,如果 k=5k=5 并且昨天 Polycarp 带 Cormen 散步了 22 次,那么今天他至少要再带狗狗散步 33 次。

Polycarp 对接下来 nn 天的所有事务进行了分析,并得到了一个长度为 nn 的整数序列 a1,a2,,ana_1,a_2,\ldots,a_n,其中 aia_i 代表在第 ii 天由于各种事务(比如去商店、扔垃圾等)他会和 Cormen 一起散步的次数。

请你帮 Polycarp 计算,在接下来的 nn 天内,他至少还需要额外散步多少次,才能让 Cormen 在所有 nn 天内都感觉良好。此外,请输出对应的散步安排——一个长度为 nn 的序列 b1,b2,,bnb_1,b_2,\ldots, b_nbiaib_i \geq a_i),其中 bib_i 表示第 ii 天实际和狗狗散步的总次数。

你可以假定,在第一天的前一天以及第 nn 天的后一天,Polycarp 都会带 Cormen 散步恰好 kk 次。

写一个程序,找出最少需要补充的散步次数以及合理的每日安排。如果有多组答案,输出任意一组即可。

输入格式

第一行包含两个整数 nnkk1n,k5001 \leq n, k \leq 500),分别表示天数以及任意相邻两天所需的最小散步次数。

第二行包含 nn 个整数 a1,a2,,ana_1,a_2,\ldots,a_n0ai5000 \leq a_i \leq 500),表示 Polycarp 计划在第 ii 天与 Cormen 散步的次数。

输出格式

第一行输出最少需要额外补充的散步次数。

第二行输出 nn 个整数 b1,b2,,bnb_1,b_2,\ldots,b_n,表示第 ii 天实际散步的总次数(满足 aibia_i\leq b_i,且任意相邻两天 bi1+bikb_{i-1}+b_i \geq k)。如果有多种答案,输出任意一组。

说明/提示

由 ChatGPT 5 翻译

样例

3 5
2 0 1
4
2 3 2
3 1
0 0 0
1
0 1 0
4 6
2 4 3 5
0
2 4 3 5

在线编程 IDE

建议全屏模式获得最佳体验