#include <bits/stdc++.h>
using namespace std;
inline int read() {
  int data = 0, w = 1;
  char ch = getchar();
  while (ch != '-' && (ch < '0' || ch > '9')) ch = getchar();
  if (ch == '-') w = -1, ch = getchar();
  while (ch >= '0' && ch <= '9')
    data = (data << 3) + (data << 1) + (ch ^ 48), ch = getchar();
  return data * w;
}
const int maxn(100010);
int n, a[maxn], cntL, cntR;
long long s[maxn], d, b;
int main() {
  n = read();
  d = read();
  b = read();
  for (register int i = 1; i <= n; i++) s[i] = s[i - 1] + (a[i] = read());
  for (register int i = 1; i <= (n >> 1); i++) {
    int p = s[min(1ll * n, i * (d + 1))] - b * cntL;
    if (p >= b) ++cntL;
    p = s[n] - s[max(0ll, 1ll * n - i * (d + 1))] - b * cntR;
    if (p >= b) ++cntR;
  }
  printf("%d\n", (n >> 1) - min(cntL, cntR));
  return 0;
}
