#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e5 + 5;
long long n, d, b, pre, suf;
long long dat[MAXN], sum[MAXN];
inline int read() {
  int x = 0;
  char ch = getchar();
  while (!isdigit(ch)) ch = getchar();
  while (isdigit(ch)) {
    x = x * 10 + ch - '0';
    ch = getchar();
  }
  return x;
}
int main() {
  n = read(), d = read(), b = read();
  for (int i = 1; i <= n; i++) dat[i] = read();
  for (int i = 1; i <= n; i++) sum[i] = sum[i - 1] + dat[i];
  for (int i = 1; i <= n / 2; i++) {
    long long x = sum[min(1ll * n, i * (d + 1))] - 1ll * pre * b;
    (x >= b) && (pre++);
    x = sum[n] - sum[max(0ll, n - i * (d + 1))] - 1ll * suf * b,
    (x >= b) && (suf++);
  }
  printf("%lld\n", n / 2 - min(pre, suf));
  return 0;
}
