func_code_string: #include <bits/stdc++.h>   using namespace std;   int x[110], y[110], n, epsilon, k;   double dist[110], p[110], mem[110][110];   double solve(int idx, int k) {     if (k == 0) return 1;     if (idx == n) return 0;     double& res = mem[idx][k];     if (res != -1) return res;     res = p[idx] * solve(idx + 1, k - 1);     res += (1 - p[idx]) * solve(idx + 1, k);     return res;   }   bool binary(double r) {     for (int i = 0; i < n; i++) {       if (dist[i] <= r)         p[i] = 1;       else         p[i] = exp(1 - dist[i] * dist[i] / (r * r));     }     for (int i = 0; i < n + 1; i++)       for (int j = 0; j < k + 1; j++) mem[i][j] = -1;     double res = solve(0, k);     return ((1 - res) * 1000 <= epsilon);   }   int main() {     ios::sync_with_stdio(false);     int x0, y0;     cin >> n >> k >> epsilon;     cin >> x0 >> y0;     for (int i = 0; i < n; i++) cin >> x[i] >> y[i];     for (int i = 0; i < n; i++) dist[i] = hypot(x[i] - x0, y[i] - y0);     double mid, low = 0, high = 1000000;     while (abs(low - high) > 1e-9) {       mid = (low + high) / 2;       if (binary(mid))         high = mid;       else         low = mid;     }     printf( %.15lf n , (low + high) / 2);     return 0;   }   