#include <bits/stdc++.h>
using namespace std;
const int maxn = 100005;
int n, d, b, a[maxn], cnt1, cnt2;
inline int gi() {
  char c = getchar();
  while (c < '0' || c > '9') c = getchar();
  int sum = 0;
  while ('0' <= c && c <= '9') sum = sum * 10 + c - 48, c = getchar();
  return sum;
}
int main() {
  n = gi();
  d = gi();
  b = gi();
  for (int i = 1; i <= n; ++i) a[i] = a[i - 1] + gi();
  for (int i = 1; i <= n / 2; ++i) {
    if (a[min((long long)n, (long long)i * (d + 1))] - cnt1 * b >= b) ++cnt1;
    if (a[n] - a[max(0ll, n - (long long)i * (d + 1))] - cnt2 * b >= b) ++cnt2;
  }
  printf("%d\n", n / 2 - min(cnt1, cnt2));
  return 0;
}
