func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, a[100005], res = 1e9, A, B, x[100005], kq[100005], kq1[100005], dem = 0,                     e[100005];   void no(int val) {     if (a[n] >= 0 || a[n - 1] >= 0 || res <= val) return;     res = val;     for (int i = 2; i <= n - 1; i++) kq[i] = x[i];     return;   }   void xuli(int i, int val) {     if (val >= res) return;     if (i == 2 || i == n - 1 || 1 == 1) {       for (int j = 0; j <= 16; j++) {         bool ok = true;         x[i] = j;         a[i - 1] -= B * j;         a[i] -= A * j;         a[i + 1] -= B * j;         if (a[i - 1] >= 0) ok = false;         if (ok == true) {           if (i == n - 1)             no(val + j);           else             xuli(i + 1, val + j);         }         a[i - 1] += B * j;         a[i] += A * j;         a[i + 1] += B * j;       }     } else {       int tg = max(e[i] / A + 1, max(e[i - 1] / B + 1, e[i + 1] / B + 1));       for (int j = 0; j <= tg; j++) {         bool ok = true;         x[i] = j;         a[i - 1] -= B * j;         a[i] -= A * j;         a[i + 1] -= B * j;         if (a[i - 1] >= 0) ok = false;         if (ok == true) {           if (i == n - 1)             no(val + j);           else             xuli(i + 1, val + j);         }         a[i - 1] += B * j;         a[i] += A * j;         a[i + 1] += B * j;       }     }   }   int main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);     cin >> n >> A >> B;     for (int i = 1; i <= n; i++) cin >> a[i], e[i] = a[i];     xuli(2, 0);     cout << res <<   n ;     for (int i = 2; i <= n - 1; i++)       for (int j = 1; j <= kq[i]; j++) kq1[++dem] = i;     for (int i = 1; i <= dem; i++) cout << kq1[i] <<    ;     return 0;   }   