#include <bits/stdc++.h>
using namespace std;
bool covers(vector<pair<int, int>> &pair, int N, double rSq, double L) {
double covered = 0;
for (int i = 0; i<N; i++) {
const double deltaX = sqrt(rSq - pair[i].second*pair[i].second);
const double a = pair[i].first - deltaX;
double b = pair[i].first + deltaX;
if (a <= covered) {
covered = max(covered, b);
}
}
return covered >= L;
}
int main() {
int N, L;
cin >> N >> L;
vector<pair<int, int>> pair(N);
for (int i = 0; i<N; i++) {
cin >> pair[i].first >> pair[i].second;
}
double low = 0;
double high = 1.5e9;
while (high - low > 1e-3) {
const double m = (low+high)/2;
if (covers(pair, N, m*m, L)) {
high = m;
} else {
low = m;
}
}
cout << fixed << setprecision(4);
cout << low;
return 0;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |