Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
1 result

LA3635.cpp

Blame
  • LA3635.cpp 962 B
    #include <bits/stdc++.h>
    
    #define EPS 1e-6
    #define MOD 1000000007
    #define inf 0x3f3f3f3f
    #define llinf 0x3f3f3f3f3f3f3f3f
    
    #define fi first
    #define se second
    #define sz size()
    #define pb push_back
    #define ende '\n'
    
    #define all(x) (x).begin(), (x).end()
    #define rall(x) (x).rbegin(), (x).rend()
    #define mset(x, y) memset(&x, (y), sizeof(x))
    
    using namespace std; 
    
    typedef long long ll;
    typedef pair<int,int> ii;
    
    int main() {
      ios::sync_with_stdio(0);
      cin.tie(0);
      cout << setprecision(9) << fixed;
    
      int t; cin >> t;
      while (t--) {
        int n, f; cin >> n >> f;
        vector<double> v(n); 
        for (auto &i : v)
          cin >> i;
    
        double l = 0.0, r = (double) llinf;
        for (int i = 0; i < 300; ++i) {
          double m = (l + r) / 2.0;   
          int p = 0;
    
          for (int j = 0; j < n; ++j)
            p += (int) floor((v[j] * v[j] * M_PI) / m);
    
          if (p >= f + 1)
            l = m;
          else
            r = m;
        }
    
        cout << l << ende;
      }
    
      return 0;
    }