#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 1;
int i, n, d, b, a[N], sum[N], res, ans, x;
inline void work() {
  if (sum[min(1ll * n, 1ll * i * (d + 1))] - sum[i - 1] + res >= b)
    res -= b;
  else
    ans++;
  res += a[i];
}
int main() {
  scanf("%d%d%d", &n, &d, &b);
  for (i = 1; i <= n; i++) scanf("%d", &a[i]), sum[i] = sum[i - 1] + a[i];
  for (i = 1; i <= (n + 1) / 2; i++) work();
  x = ans;
  ans = res = 0;
  reverse(a + 1, a + n + 1);
  for (i = 1; i <= n; i++) sum[i] = sum[i - 1] + a[i];
  for (i = 1; i <= n / 2; i++) work();
  printf("%d", max(x, ans));
}
