func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, a, b, h[15], side = 0, dsh[15], cent = 52;   vector<int> sshot, cshot;   void recur(int now, int tot) {     if (now == n - 1) {       int ok = 1;       for (int i = 1; i < n - 1; i++)         if (dsh[i] * a + dsh[i - 1] * b + dsh[i + 1] * b <= h[i]) {           ok = 0;           break;         }       if (ok == 1 && tot < cent) {         cent = tot;         cshot.clear();         for (int i = 1; i < n - 1; i++)           for (int j = 0; j < dsh[i]; j++) cshot.push_back(i);       }       return;     }     if (tot >= cent) return;     for (int i = 0; i <= 8; i++) {       dsh[now] = i;       recur(now + 1, tot + i);     }   }   int main() {     scanf( %d%d%d , &n, &a, &b);     for (int i = 0; i < n; i++) {       scanf( %d , &h[i]);     }     while (h[0] >= 0) {       h[0] -= b;       h[2] -= b;       h[1] -= a;       side++;       sshot.push_back(1);     }     while (h[n - 1] >= 0) {       h[n - 1] -= b;       h[n - 3] -= b;       h[n - 2] -= a;       side++;       sshot.push_back(n - 2);     }     memset(dsh, 0, sizeof(dsh));     recur(1, 0);     printf( %d n , cent + side);     printf( %d , sshot[0] + 1);     for (int i = 1; i < sshot.size(); i++) printf(  %d , sshot[i] + 1);     for (int i = 0; i < cshot.size(); i++) printf(  %d , cshot[i] + 1);     printf(  n );   }   