func_code_string: #include <bits/stdc++.h>   using namespace std;   double l[10], b[10];   vector<int> kk(10, -1);   vector<vector<int> > v;   int k, n;   void abc(int i, int sum) {     if (i == 0 && sum == 0) {       v.push_back(kk);       return;     }     if (i == 0) {       return;     }     for (int j = 0; j <= k; j++) {       if (sum - j < 0) break;       kk[i - 1] = j;       abc(i - 1, sum - j);     }   }   double A;   double ans = 0.0;   void solve(vector<int>& v) {     double sum = 0.0;     for (int i = 0; i < (1 << n); i++) {       double cur = 1.0;       int ed = 0;       double B = 0.0;       for (int j = 0; j < n; j++) {         double z = (l[j] + v[j] * 10) * 0.01;         z = min(z, 1.0);         if (i & (1 << j)) {           cur *= z;           ed++;         } else {           cur *= 1.0 - z;           B += b[j];         }       }       if (ed <= n / 2) cur *= A / (A + B);       sum += cur;     }     ans = max(ans, sum);   }   int main() {     cin >> n >> k >> A;     abc(n, k);     for (int i = 0; i < n; i++) {       cin >> b[i] >> l[i];     }     for (int i = 0; i < v.size(); i++) {       solve(v[i]);     }     printf( %.9f , ans);   }   