Submission #475611

#TimeUsernameProblemLanguageResultExecution timeMemory
475611Soumya1Mobile (BOI12_mobile)C++17
100 / 100
513 ms35272 KiB
#include <bits/stdc++.h>
using namespace std;
void testCase() {
  int n, len;
  cin >> n >> len;
  vector<long long> x(n), y(n);
  for (int i = 0; i < n; i++) cin >> x[i] >> y[i];
  auto check = [&](double d) {
    double l = 1e9 + 5, r = 0;
    for (int i = 0; i < n; i++) {
      if (d >= abs(y[i])) {
        double a = sqrt(d * d - y[i] * y[i]);
        if (x[i] - a <= r) {
          l = min(x[i] - a, l);
          r = max(x[i] + a, r);
        }
      }
    }
    return (l <= 0 && r >= len && l <= r);
  };
  double lo = 0, hi = 2e9;
  for (int it = 0; it < 50; it++) {
    double mid = (lo + hi) / 2;
    if (check(mid)) hi = mid;
    else lo = mid;
  }
  cout << fixed << setprecision(5) << lo << "\n";
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  testCase();
  return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...