#include <bits/stdc++.h>
using namespace std;
long long n, d, b, a[1000100];
int main() {
  cin >> n >> d >> b;
  for (long long i = 1; i <= n; i++) cin >> a[i];
  long long pos = 1, cur = a[1], ans1 = 0, ans2 = 0;
  for (long long i = 1; i <= (n + 1) / 2; i++) {
    while (cur < b && pos < i + d * i && pos < n) cur += a[++pos];
    if (cur >= b)
      cur -= b;
    else
      ans1++;
  }
  for (long long i = 1; i <= n / 2; i++) swap(a[i], a[n + 1 - i]);
  pos = 1, cur = a[1];
  for (long long i = 1; i <= n / 2; i++) {
    while (cur < b && pos < i + d * i && pos < n) cur += a[++pos];
    if (cur >= b)
      cur -= b;
    else
      ans2++;
  }
  cout << max(ans1, ans2) << endl;
  return 0;
}
