func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long md = 1e9 + 7;   const long long arr = 2e5;   long long a[arr], aa[arr];   long long n, d, b;   bool check(long long u) {     for (long long i = 1; i <= n; i++) a[i] = aa[i];     long long pluss = 0;     long long uu = u;     long long start = 1;     long long mid = n / 2 + n % 2;     while (1) {       if (a[start] >= b)         pluss += a[start] - b;       else if (uu)         uu--, pluss += a[start];       else         break;       start++;       if (start > mid) break;     }     long long last = start;     pluss += a[start];     for (long long i = start; i <= mid; i++) {       while (last + 1 <= min(i + i * d, n)) {         last++;         pluss += a[last];         a[last] = 0;       }       if (pluss < b) return (0);       pluss -= b;     }     for (long long i = 1; i <= n; i++) a[i] = aa[i];     reverse(a + 1, a + 1 + n);     pluss = 0;     uu = u;     start = 1;     mid = n / 2;     while (1) {       if (a[start] >= b)         pluss += a[start] - b;       else if (uu)         uu--, pluss += a[start];       else         break;       start++;       if (start > mid) break;     }     last = start;     pluss += a[start];     for (long long i = start; i <= mid; i++) {       while (last + 1 <= min(i + i * d, n)) {         last++;         pluss += a[last];         a[last] = 0;       }       if (pluss < b) return (0);       pluss -= b;     }     return (1);   }   signed main() {     cin >> n >> d >> b;     for (long long i = 1; i <= n; i++) cin >> aa[i];     long long l = 0;     long long r = n;     while (r - l > 1) {       long long d = (l + r) / 2;       if (check(d))         r = d;       else         l = d;     }     if (check(l))       cout << l;     else       cout << r;   }   