AT_past202107_m 分割

Description

[problemUrl]: https://atcoder.jp/contests/past202107-open/tasks/past202107_m 長さ $ N $ の整数列 $ A=(A_1,\ A_2,\ \dots\ ,A_N) $ と整数 $ C $ があります。 長さ $ K\ (K\ \geq\ 1) $ の整数列 $ B=(B_1,\ B_2,\ \dots\ ,B_K) $ の *スコア* を、以下の式で定義します。 $ \displaystyle\ C\ +\ \sum_{i=1}^{K-1}\ |B_{i+1}\ -\ B_i| $ 整数列 $ A $ を順序を保ったまま、いくつかの(連続するとは限らない)部分列に分解します。 このとき整数列 $ A $ の **合計スコア** を、得られた整数列の *スコア* の総和として定義します。 整数列 $ A $ の **合計スコア** の最小値を求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ C $ $ A_1 $ $ A_2 $ $ \dots $ $ A_N $

Output Format

**合計スコア** の最小値を出力せよ。

Explanation/Hint

### 注意 この問題に対する言及は、2021/7/17 18:00 JST まで禁止されています。言及がなされた場合、賠償が請求される可能性があります。 試験後に総合得点や認定級を公表するのは構いませんが、どの問題が解けたかなどの情報は発信しないようにお願いします。 ### 制約 - $ 1\ \leq\ N\ \leq\ 200 $ - $ 1\ \leq\ C\ \leq\ 10^9 $ - $ 1\ \leq\ A_i\ \leq\ 10^9 $ - 入力は全て整数 ### Sample Explanation 1 $ (4,\ 9),\ (25,\ 19,\ 22),\ (1000000000) $ と分解します。それぞれの \*スコア\* は $ 15,\ 19,\ 10 $ です。 ### Sample Explanation 2 $ (3,\ 1,\ 4,\ 1,\ 5) $ の \*スコア\* は $ 112 $ です。