#include <bits/stdc++.h>
using namespace std;
const int mx = 1e5 + 10;
int n, m, d, b;
long long a[mx];
long long sum(long long l, long long r) {
  l = max(1ll, l);
  r = min(1ll * n, r);
  return a[r] - a[l - 1];
}
int main() {
  scanf("%d%d%d", &n, &d, &b);
  for (int i = 1; i <= n; i++) scanf("%I64d", a + i), a[i] = a[i - 1] + a[i];
  long long cnt1 = 0, cnt2 = 0;
  for (int i = 1; i <= n / 2; i++) {
    if (sum(1, 1ll * i * (d + 1)) >= (cnt1 + 1) * b) cnt1++;
    if (sum(1ll * n + 1 - i * (d + 1), n) >= (cnt2 + 1) * b) cnt2++;
  }
  printf("%I64d\n", n / 2 - min(cnt1, cnt2));
  return 0;
}
