#include <bits/stdc++.h>
using namespace std;
inline int read() {
  int x = 0, f = 1;
  char ch = getchar();
  while (ch < '0' || ch > '9') {
    if (ch == '-') f = -1;
    ch = getchar();
  }
  while (ch >= '0' && ch <= '9') {
    x = x * 10 + ch - '0';
    ch = getchar();
  }
  return x * f;
}
long long n, b, d, cnt1, cnt2, a[100010], sum[100010];
int main() {
  n = read(), d = read(), b = read();
  for (int i = 1; i <= n; ++i) a[i] = read(), sum[i] = sum[i - 1] + a[i];
  for (int i = 1; i <= n / 2; ++i) {
    int l = max(n - i - i * d, (long long)0), r = min(n, i + i * d);
    if (sum[r] - cnt1 * b >= b) cnt1++;
    if (sum[n] - sum[l] - cnt2 * b >= b) cnt2++;
  }
  int ans = max(n / 2 - cnt1, n / 2 - cnt2);
  printf("%d", ans);
}
