AT_awc0005_c 階段状の花壇

题目描述

高桥是一名园丁,负责维护一排花坛。 这排花坛共有 $N$ 个,编号从 $1$ 到 $N$。每个花坛 $i$($1 \leq i \leq N$)当前种有 $A_i$ 朵花。 高桥的老板规定,花坛排列要达到美观状态,需满足“对于所有相邻的花坛,花的数量之差的绝对值至多为 $K$”。换句话说,假设维护后每个花坛 $i$ 有 $B_i$ 朵花,则当对所有 $i$($1 \leq i \leq N-1$)都有 $|B_i - B_{i+1}| \leq K$ 时,这排花坛就被视为美观。 高桥只能在每个花坛上增添花朵,不能移除已经种下的花。具体地说,对每个花坛 $i$,他可以增加 $0$ 朵或更多的花,从而将花坛上的数量从 $A_i$ 增加到 $B_i$。这里每个 $B_i$ 必须满足 $B_i \geq A_i$ 的条件,且为整数。 高桥想要使所需增添的花朵总数 $\displaystyle \sum_{i=1}^{N} (B_i - A_i)$ 尽可能少,以实现花坛的美观。请帮助计算出实现美观所需增添花朵的最小总数。 注意,仅通过增加花朵总是可以达到美观状态,因为将所有 $B_i$ 都设置为一个足够大的相同值即可满足条件。

输入格式

> $N$ $K$ > $A_1$ $A_2$ $\ldots$ $A_N$ - 第一行包含一个正整数 $N$(花坛数量)和一个正整数 $K$(相邻花坛允许的花数差),用空格隔开。 - 第二行包含 $N$ 个整数 $A_1, A_2, \ldots, A_N$,用空格隔开,分别表示每个花坛当前种有的花朵数量。

输出格式

输出一个整数,表示使花坛美观所需增添花朵数量的最小总数。

说明/提示

### 数据范围 - $1 \leq N \leq 2 \times 10^5$ - $1 \leq K \leq 10^9$ - $1 \leq A_i \leq 10^9$ - 所有输入均为整数。 由 ChatGPT 5 翻译