#include <bits/stdc++.h>
using namespace std;
long long f[100000 + 1], a[100000 + 1], n, d, b;
int main() {
  scanf("%lld%lld%lld", &n, &d, &b);
  for (int i = 1; i <= n; i++) scanf("%lld", &a[i]);
  f[0] = 0;
  for (int i = 1; i <= n; i++) f[i] += f[i - 1] + a[i];
  long long a1 = 0, a2 = 0;
  for (long long i = 1; i <= n / 2; i++) {
    if (f[min(n, i + i * d)] >= (a1 + 1) * b) ++a1;
    if (f[n] - f[max((long long)1, n - i - i * d)] >= (a2 + 1) * b) ++a2;
  }
  printf("%lld", n / 2 - min(a1, a2));
  return 0;
}
