#include <bits/stdc++.h>
using namespace std;
const int N = 100005;
long long n, m, z, x, y, a[N], pre[N], suf[N], b, cp[N], cs[N], ans1, d, p,
    ans2;
int main() {
  scanf("%I64d%I64d%I64d", &n, &d, &b);
  for (int i = 1; i <= n; ++i) scanf("%I64d", &a[i]);
  for (int i = 1; i <= n; ++i) pre[i] = pre[i - 1] + a[i];
  for (int i = n; i >= 1; --i) suf[i] = suf[i + 1] + a[i];
  p = n + 1;
  for (int i = 1; i <= n / 2; ++i) {
    x = i + i * d > n ? pre[n] : pre[i + i * d];
    if (x < cp[i - 1] + b) {
      ++ans1;
      cp[i] = cp[i - 1];
    } else
      cp[i] = cp[i - 1] + b;
    --p;
    x = p - i * d < 1 ? suf[1] : suf[p - i * d];
    if (x < cp[p + 1] + b) {
      ++ans2;
      cp[p] = cp[p + 1];
    } else
      cp[p] = cp[p + 1] + b;
  }
  printf("%I64d", max(ans1, ans2));
}
