AT_awc0005_c 階段状の花壇

Description

高橋君は庭師として働いており、一列に並んだ花壇の手入れを任されています。 花壇は $ 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 $ を十分大きな同じ値にすれば条件を満たせるため、花の追加のみで美しい状態にすることは常に可能です。

Input Format

> $ N $ $ K $ $ A_1 $ $ A_2 $ $ \ldots $ $ A_N $ - $ 1 $ 行目には、花壇の数を表す整数 $ N $ と、隣り合う花壇間で許容される花の本数の差を表す整数 $ K $ が、スペース区切りで与えられる。 - $ 2 $ 行目には、各花壇 $ i $ に現在植えられている花の本数を表す整数 $ A_1, A_2, \ldots, A_N $ が、スペース区切りで与えられる。

Output Format

花壇の列を美しい状態にするために追加が必要な花の合計本数の最小値を $ 1 $ 行で出力せよ。

Explanation/Hint

### Constraints - $ 1 \leq N \leq 2 \times 10^5 $ - $ 1 \leq K \leq 10^9 $ - $ 1 \leq A_i \leq 10^9 $ - 入力はすべて整数