제출 #658593

#제출 시각아이디문제언어결과실행 시간메모리
658593finn__Mobile (BOI12_mobile)C++17
100 / 100
901 ms47324 KiB
#include <bits/stdc++.h>
using namespace std;

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

    size_t n;
    long double l;
    cin >> n >> l;

    vector<complex<long double>> p;
    for (size_t i = 0; i < n; i++)
    {
        long double x, y;
        cin >> x >> y;
        p.push_back({x, y});
    }

    long double a = 0.0, b = 1e11;
    while (b - a > 1e-7)
    {
        long double r = (a + b) / 2, covered_until = 0.0;

        for (size_t i = 0; i < n; i++)
        {
            if (abs(p[i].imag()) <= r)
            {
                long double delta_x = sqrt(r * r - p[i].imag() * p[i].imag());
                if (p[i].real() - delta_x <= covered_until)
                    covered_until = max(covered_until, p[i].real() + delta_x);
            }
        }

        if (covered_until >= l)
            b = r;
        else
            a = r;
    }

    cout << fixed << setprecision(10) << a << '\n';
}
#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...