Submission #1302633

#TimeUsernameProblemLanguageResultExecution timeMemory
1302633ivycubeMobile (BOI12_mobile)C++20
100 / 100
287 ms9148 KiB
#include <iostream>
#include <algorithm>
#include <utility>
#include <iomanip>
#include <cmath>

#define x first
#define y second

using namespace std;

int N, L;
pair<int, int> P[1000000];

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    
    cin >> N >> L;
    for (int i = 0; i < N; i++)
        cin >> P[i].x >> P[i].y;
    
    double lo = 1.0, hi = 1.5e9;
    while (hi - lo > 1e-3) {
        double mid = lo + (hi - lo)/2;
        double cur = 0.0;
        for (int i = 0; i < N; i++) {
            double half_chord = sqrt(mid * mid - (double)P[i].y * P[i].y);
            double l = P[i].x - half_chord, r = P[i].x + half_chord;
            if (l <= cur) cur = max(cur, r);
        }
        if (cur >= L) hi = mid;
        else lo = mid;
    }

    cout << fixed << setprecision(4) << lo << endl;
    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...