#include <bits/stdc++.h>
using namespace std;
const int N = 100010, P = 1;
int n, d, b, a[N];
inline bool calc(int x, int y) {
  if (y <= (n + 1) / 2)
    return (abs(x - y) + d - 1) / d <= y;
  else
    return (abs(x - y) + d - 1) / d <= n - y + 1;
}
inline bool check(int x) {
  int cur = 1, w = 0;
  for (int i = 1; i <= n; i++) {
    while (cur <= n && calc(cur, i)) {
      w += a[cur];
      cur++;
    }
    if (i > x && i < n - x + 1 && b > w) return 0;
    if (i > x && i < n - x + 1) w -= b;
  }
  cur = n;
  w = 0;
  for (int i = n; i; i--) {
    while (cur && calc(cur, i)) {
      w += a[cur];
      cur--;
    }
    if (i > x && i < n - x + 1 && b > w) return 0;
    if (i > 0 && i < n - x + 1) w -= b;
  }
  return 1;
}
int main() {
  scanf("%d%d%d", &n, &d, &b);
  for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
  int L = 0, R = n, mid, ans;
  while (L <= R) check(mid = L + R >> 1) ? R = (ans = mid) - 1 : L = mid + 1;
  printf("%d\n", ans);
  return 0;
}
