#include #define REP(i, a, n) for(ll i = ((ll) a); i < ((ll) n); i++) #define INF (1LL << 60) using namespace std; typedef long long ll; ll N, P, H[200000]; int main(void) { cin >> N >> P; REP(i, 0, N) cin >> H[i]; vector dp1(N), dp2(N); dp1[0] = 0; dp2[0] = INF; REP(i, 1, N) { dp1[i] = min(min(dp1[i - 1], dp2[i - 1]) + P, dp1[i - 1] + max(H[i] - H[i - 1], 0LL)); dp2[i] = min(min(dp1[i - 1], dp2[i - 1]) + P, dp2[i - 1] + max(H[i - 1] - H[i], 0LL)); } cout << min(dp1[N - 1], dp2[N - 1]) << endl; }