#include <bits/stdc++.h>
using namespace std;
long long n, d, b;
long long a[500005], c[500005];
long long x, xx;
void read(long long &x) {
  x = 0;
  long long k = 1;
  char c = getchar();
  while ((c != '-') && (c < '0' || c > '9')) c = getchar();
  if (c == '-') k = -1, c = getchar();
  while (c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();
  x = x * k;
}
void write(long long x) {
  if (x < 0) putchar('-'), x = -x;
  if (x > 9) write(x / 10);
  putchar(x % 10 + '0');
}
void init() { freopen("f.in", "r", stdin); }
long long sum(long long x, long long y) {
  if (x < 1) x = 1;
  if (y > n) y = n;
  return c[y] - c[x - 1];
}
int main() {
  read(n), read(d), read(b);
  for (long long i = 1; i <= n; i++) {
    read(a[i]);
    c[i] = c[i - 1] + a[i];
  }
  for (long long i = 1; i <= n / 2; i++) {
    if (sum(1, i + i * d) >= (x + 1) * b) x++;
    if (sum(n - i - i * d + 1, n) >= (xx + 1) * b) xx++;
  }
  write(max(n / 2 - x, n / 2 - xx));
  return 0;
}
