Submission #1204468

#TimeUsernameProblemLanguageResultExecution timeMemory
1204468rcllMobile (BOI12_mobile)C++20
100 / 100
610 ms16068 KiB
#include <bits/stdc++.h>
using namespace std;

pair<long long,long long> p[1000000];

int main() {
    int n,len;
    cin >> n >> len;
    for (int i=0; i<n; i++) {
        cin >> p[i].first >> p[i].second;
    }
    double l=1,r=1.5e9;
    while (r-l > 1e-3) {
        double mid=(l+r)/2,curr=0;
        for (int i=0; i<n; i++) {
            double Δ=sqrt(mid*mid-p[i].second*p[i].second);
            double a=p[i].first-Δ,b=p[i].first+Δ;
            if (a <= curr) {
                curr=max(curr,b);
            }
        }
        if (curr>=len) {
            r=mid;
        } else {
            l=mid;
        }
    }
    cout << fixed << setprecision(4) << l;
}
#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...