func_code_string: #include <bits/stdc++.h>   using namespace std;   const double TOLL = 1e-9;   int N, L, K;   int a[210];   double p[210];   const int maxn = 400;   double dp[201][401][maxn + 2];   double rec(int ind, int l, int cap) {     if (cap < -202) cap = -200;     if (cap > 202) cap = 200;     if (ind == N) {       if (l <= 0 && cap >= 0) return 1;       return 0;     }     if (dp[ind][l + 200][cap + 200] > -.5) return dp[ind][l + 200][cap + 200];     double rv = p[ind] * rec(ind + 1, l - 1, cap + a[ind]) +                 (1 - p[ind]) * rec(ind + 1, l, cap);     return dp[ind][l + 200][cap + 200] = rv;   }   int main() {     while (cin >> N >> L >> K) {       for (int i = 0; i < N; i++) {         cin >> p[i];         p[i] /= 100;       }       for (int i = 0; i < N; i++) cin >> a[i];       memset(dp, -1, sizeof dp);       printf( %.12lf n , rec(0, L, K));     }   }   