#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  long long n, d;
  int b;
  cin >> n >> d >> b;
  vector<int> a(n);
  for (int i = 0; i < n; ++i) cin >> a[i];
  long long l = 0, r = n / 2, ans = r;
  while (l < r) {
    long long mid = (l + r) / 2, k = mid;
    vector<int> c(a);
    for (int i = 0, j = n - 1; k < n / 2; ++k) {
      int cur = 0;
      for (; i <= min(n - 1, k + (k + 1) * d) && cur < b;) {
        if (abs(k - i) <= (k + 1) * d) {
          int tmp = min(b - cur, c[i]);
          cur += tmp;
          c[i] -= tmp;
          if (!c[i]) ++i;
        } else
          ++i;
      }
      if (cur != b) break;
      cur = 0;
      for (; j >= max((long long)0, n - 1 - k - (k + 1) * d) && cur < b;) {
        if (abs(n - 1 - k - j) <= (k + 1) * d) {
          int tmp = min(b - cur, c[j]);
          cur += tmp;
          c[j] -= tmp;
          if (!c[j]) --j;
        } else
          --j;
      }
      if (cur != b) break;
    }
    if (k == n / 2) {
      ans = min(ans, mid);
      r = mid;
    } else
      l = mid + 1;
  }
  cout << ans;
  return 0;
}
