Submission #589106

#TimeUsernameProblemLanguageResultExecution timeMemory
589106jakubdMobile (BOI12_mobile)C++17
12 / 100
511 ms24732 KiB
#include <bits/stdc++.h>

using namespace std;

int main() {
  ios_base::sync_with_stdio(false); cin.tie(0);

  int n, l; cin >> n >> l;

  vector<pair<int, int>> a;
  for (int i = 0; i < n; i++) {
    int x, y; cin >> x >> y;
    a.push_back({x, y});
  }

  double lo = 0, ri = 1e9;
  while (fabs(lo - ri) > 1e-6) {
    double m = (lo + ri) / 2, cur = 0;
    
    for (int i = 0; i < n; i++) {
      double d = sqrt(m * m - a[i].second * a[i].second);
      if (a[i].first - d <= cur) cur = max(cur, a[i].first + d);
    }

    if (cur >= l) ri = m;
    else lo = m;
  }

  cout << fixed << setprecision(12) << lo << "\n";

  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...