#include <bits/stdc++.h>
using namespace std;
const long long N = 1e5 + 10;
long long n, d, b, a[N], f[N];
int main() {
  long long i, j, k, t = 0, ans;
  scanf("%I64d%I64d%I64d", &n, &d, &b);
  for (i = 1; i <= n; i++) scanf("%I64d", &a[i]), f[i] = f[i - 1] + a[i];
  for (i = 1; i <= n / 2; i++)
    if (f[min(i * d + i, n)] >= (t + 1) * b) t++;
  ans = t;
  t = 0;
  for (i = 1; i <= n / 2; i++) swap(a[i], a[n - i + 1]);
  f[0] = 0;
  for (i = 1; i <= n; i++) f[i] = f[i - 1] + a[i];
  for (i = 1; i <= n / 2; i++)
    if (f[min(i * d + i, n)] >= (t + 1) * b) t++;
  printf("%I64d", n / 2 - min(ans, t));
}
