#include <bits/stdc++.h>   using namespace std;   long long n, d, b, l, r, need, ans1, ans2;   long long a[500011], n1[500011], n2[500011];   int main() {     scanf( %lld%lld%lld , &n, &d, &b);     long long re = (n >> 1) * b;     for (int i = 1; i <= n; i++) scanf( %lld , &a[i]);     for (int i = 1; i <= n; i++)       n1[i] = min(a[i], re) + n1[i - 1], re -= min(a[i], re);     re = (n >> 1) * b;     for (int i = n; i; i--)       n2[i] = min(a[i], re) + n2[i + 1], re -= min(a[i], re);     for (int i = 1; i <= n / 2; i++) {       r = min(r + d + 1, n);       if (need + b <= n1[r])         need += b;       else         ans1++;     }     l = n + 1;     need = 0;     for (int i = n; i >= ((n + 1) / 2) + 1; i--) {       l = max(1LL, l - d - 1);       if (need + b <= n2[l])         need += b;       else         ans2++;     }     printf( %lld n , max(ans1, ans2));     return 0;   }   