#include <bits/stdc++.h>
long long min(long long A, long long B) { return A < B ? A : B; }
int main(void) {
  long long n, d, sum = 0;
  scanf("%lld%lld", &n, &d);
  long long a[n];
  for (int i = 0; i < n; i++) {
    scanf("%lld", &a[i]);
    sum += a[i];
  }
  long long ans = sum * 2 - a[0] - a[n - 1] + d * (n - 1);
  for (int i = 0; i < n; i++) {
    long long tmp = i * (i + 1) / 2 + (n - i - 1) * (n - i) / 2;
    ans = min(tmp * d + sum - a[i] + a[i] * (n - 1), ans);
  }
  printf("%lld\n", ans);
  return 0;
}
