#include <bits/stdc++.h>
using namespace std;
inline long long min(long long x, long long y) { return x < y ? x : y; }
inline long long max(long long x, long long y) { return x > y ? x : y; }
long long a[100010];
int main() {
  long long n, d, b, i, j, l = 0, r = 0, x, y;
  scanf("%lld%lld%lld", &n, &d, &b);
  for (i = 1; i <= n; i++) {
    scanf("%lld", &a[i]);
    a[i] += a[i - 1];
  }
  for (i = x = 1, y = n; i <= n >> 1; i++, x++, y--) {
    if (a[min(x + i * d, n)] - l * b >= b) l++;
    if (a[n] - a[max(y - i * d, 1) - 1] - r * b >= b) r++;
  }
  if (r < l) l = r;
  printf("%lld\n", n / 2 - l);
  return 0;
}
