func_code_string: #include <bits/stdc++.h>   using namespace std;   long long gcd(long long a, long long b) {     if (!b) return a;     return gcd(b, a % b);   }   long long fpow(long long a, long long b, long long mod) {     long long res = 1ll;     while (b) {       if (b & 1) res = (res * a) % mod;       a = (a * a) % mod;       b >>= 1;     }     return res;   }   long long mul(long long a, long long b, long long mod) {     long long res = 0;     while (b) {       if (b & 1) res = (res + a) % mod;       a = (a + a) % mod;       b >>= 1;     }     return res;   }   const long long mod = 2015;   const double eps = 1e-3;   const double pi = acos(-1);   const long long N = 5005;   double dp[N];   struct node {     int x, y, ti;     double pi;     bool operator<(const node &o) const { return ti < o.ti; }   } a[N];   double dis(long long x, long long y) {     return sqrt((a[x].x - a[y].x) * (a[x].x - a[y].x) +                 (a[x].y - a[y].y) * (a[x].y - a[y].y));   }   int main() {     long long n;     scanf( %lld , &n);     for (long long i = 1; i <= n; i++)       cin >> a[i].x >> a[i].y >> a[i].ti >> a[i].pi;     sort(a + 1, a + 1 + n);     double ans = 0;     for (long long i = 1; i <= n; i++) {       dp[i] = a[i].pi;       for (long long j = 1; j <= i - 1; j++) {         if (a[i].ti - a[j].ti - dis(i, j) > -eps)           dp[i] = max(dp[j] + a[i].pi, dp[i]);       }       ans = max(dp[i], ans);     }     printf( %.8lf , ans);     return 0;   }   