제출 #1281544

#제출 시각아이디문제언어결과실행 시간메모리
1281544minhphanMobile (BOI12_mobile)C++20
12 / 100
601 ms8236 KiB
#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 = 1e10;

    while (high - low > 1e-4) {
        const double m = (low+high)/2;

        if (covers(pair, N, m*m, L)) {
            high = m;
        } else {
            low = m;
        }
    }

    cout << fixed << setprecision(6);
    cout << low;
    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...