func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, A;   int level[10], loyal[10];   double maxP;   void backtrack(int p, int k) {     if (p == n || k == 0) {       double x = 0;       for (int mask = 0; mask < (1 << n); mask++) {         int cnt = 0, B = 0;         double prob = 1.0;         for (int i = 0; i < n; i++) {           if (mask & (1 << i)) {             prob *= loyal[i] / 100.0;             cnt++;           } else {             prob *= (100 - loyal[i]) / 100.0;             B += level[i];           }         }         if (2 * cnt > n)           x += prob;         else           x += prob * A / (A + B);       }       maxP = max(maxP, x);     } else {       backtrack(p + 1, k);       if (loyal[p] < 100) {         loyal[p] += 10;         backtrack(p, k - 1);         loyal[p] -= 10;       }     }   }   int main() {     int k;     while (cin >> n >> k >> A) {       for (int i = 0; i < n; i++) cin >> level[i] >> loyal[i];       maxP = 0;       backtrack(0, k);       printf( %.10lf n , maxP);     }     return 0;   }   