func_code_string: #include <bits/stdc++.h>   using namespace std;   double dp[128][128];   int x[128], y[128];   int N, K, x_0, y_0;   double eps;   double dist(double x1, double y1) {     return sqrt((x_0 - x1) * (x_0 - x1) + (y_0 - y1) * (y_0 - y1));   }   double hit(double R, double D) {     return (D <= R) ? 1. : exp(1 - D * D / R / R);   }   double P(double R) {     fill(*dp, *dp + 128 * 128, 0.);     dp[0][1] = hit(R, dist(x[0], y[0]));     dp[0][0] = 1 - dp[0][1];     for (int i = 1; i < N; i++)       for (int j = 0; j <= N; j++) {         double ph = hit(R, dist(x[i], y[i]));         dp[i][j] += (1 - ph) * dp[i - 1][j];         if (j >= 1) dp[i][j] += ph * dp[i - 1][j - 1];       }     double ret = 0.;     for (int j = 0; j < K; j++) ret += dp[N - 1][j];     return ret;   }   int main() {     cin >> N >> K >> eps >> x_0 >> y_0;     eps /= 1000.;     for (int i = 0; i < N; i++) cin >> x[i] >> y[i];     double lo = 0., hi = 1000000.;     for (int x = 0; x < 50; x++) {       double ave = (lo + hi) / 2.;       if (P(ave) <= eps)         hi = ave;       else         lo = ave;     }     cout << setprecision(10) << fixed << hi << endl;   }   