#include <bits/stdc++.h>
using namespace std;
const long long maxn = 100100;
long long n, d, b, a[maxn], sum[maxn];
inline long long query(long long l, long long r) { return sum[r] - sum[l - 1]; }
signed main() {
  scanf("%lld%lld%lld", &n, &d, &b);
  for (long long i = 1; i <= n; i++) scanf("%lld", a + i);
  for (long long i = 1; i <= n; i++) sum[i] = a[i] + sum[i - 1];
  long long cnt1 = 0, cnt2 = 0;
  for (long long i = 1; i <= (n >> 1); i++) {
    if (query(1, min(i + i * d, n)) >= (cnt1 + 1) * b) cnt1++;
    if (query(max(1ll, n - i - i * d + 1), n) >= (cnt2 + 1) * b) cnt2++;
  }
  long long ans = max(n / 2 - cnt1, n / 2 - cnt2);
  cout << ans;
}
