From 2f9b60faa955091fb6d07e6c5ec3e6e741e46dd9 Mon Sep 17 00:00:00 2001
From: Bruno Freitas Tissei <bft15@inf.ufpr.br>
Date: Sun, 24 Feb 2019 18:26:10 -0300
Subject: [PATCH] Add LA3635

Signed-off-by: Bruno Freitas Tissei <bft15@inf.ufpr.br>
---
 contests/Cadernaveis/LA3635.cpp | 53 +++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)
 create mode 100644 contests/Cadernaveis/LA3635.cpp

diff --git a/contests/Cadernaveis/LA3635.cpp b/contests/Cadernaveis/LA3635.cpp
new file mode 100644
index 0000000..20cb4e8
--- /dev/null
+++ b/contests/Cadernaveis/LA3635.cpp
@@ -0,0 +1,53 @@
+#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;
+}
-- 
GitLab