func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long INF = 1e18;   const int N = 1000 + 10;   int n, l, k;   double dp[202][202][404];   double pro[300];   int a[N];   double solve(int i, int sofar, int cap) {     if (i == n + 1) {       return sofar >= l && cap >= 0;     }     double &ret = dp[i][sofar][cap + 200];     if (ret == ret) return ret;     int toref = min(200, cap + a[i]);     toref = max(toref, -200);     double c1 = solve(i + 1, sofar + 1, toref) * pro[i];     double c2 = solve(i + 1, sofar, cap) * (1 - pro[i]);     return ret = c1 + c2;   }   int main() {     cin >> n >> l >> k;     for (int i = 1; i <= n; ++i) {       cin >> pro[i];       pro[i] /= 100.0;     }     for (int i = 1; i <= n; ++i) cin >> a[i];     memset(dp, -1, sizeof(dp));     cout << fixed << setprecision(10) << solve(1, 0, k) << endl;   }   