#include <bits/stdc++.h>
using namespace std;
const int MAXN = 100005;
int n, d, b;
int A[MAXN];
long long sum[MAXN];
long long S(int l, int r) {
  if (l < 1) l = 1;
  if (r > n) r = n;
  return sum[r] - sum[l - 1];
}
bool chk(int res) {
  int mid = (n + 1) / 2;
  int cntl = 0, cntr = 0;
  for (int i = 1, iend = mid; i <= iend; ++i) {
    int l = 1, r = min(n * 1ll, i + 1ll * i * d);
    if (S(l, r) < 1ll * b * (i - cntl)) cntl++;
  }
  for (int i = n, iend = mid + 1; i >= iend; --i) {
    int r = n, l = max(1ll, i - 1ll * (n - i + 1) * d);
    if (S(l, r) < 1ll * b * (n - i + 1 - cntr)) cntr++;
  }
  if (max(cntl, cntr) <= res)
    return true;
  else
    return false;
}
int main() {
  scanf("%d %d %d", &n, &d, &b);
  for (int i = 1, iend = n; i <= iend; ++i) scanf("%d", &A[i]);
  for (int i = 1, iend = n; i <= iend; ++i) sum[i] = sum[i - 1] + A[i];
  int res = n, l = 0, r = n;
  while (l <= r) {
    int mid = (l + r) >> 1;
    if (chk(mid))
      res = mid, r = mid - 1;
    else
      l = mid + 1;
  }
  printf("%d\n", res);
  return 0;
}
