Submission #1276614

#TimeUsernameProblemLanguageResultExecution timeMemory
1276614sunboiMobile (BOI12_mobile)C++20
0 / 100
1097 ms48156 KiB
#include <bits/stdc++.h>
using namespace std;

const double eps = 0;

int main()
{
    int n, l; cin >> n >> l;
    vector<pair<double, double>> a(n);
    for (int i = 0; i < n; i++){
        cin >> a[i].first >> a[i].second;
    }
    double ini = 0, fin = 4 * 1e9; 
    for (int aux = 0; aux < 200; aux++){
        
        double m = (ini + fin) / 2;
        vector<pair<double, double>> inter;
        
        for (int i = 0; i < n; i++){
            double lll = sqrt(m * m - a[i].second * a[i].second) + a[i].first;
            double rrr = -sqrt(m * m - a[i].second * a[i].second) + a[i].first;
            if (lll > rrr) swap(lll, rrr);
            inter.push_back({lll, rrr});
        }
        
        sort(inter.begin(), inter.end());

        double ll = 0, rr = 0;
        for (int i = 0; i < n; i++){
            if (rr >= inter[i].first) rr = max(rr, inter[i].second);
        }
        
        if (rr > l){
            fin = m;
        }else ini = m;
    }
    cout << fixed << setprecision(6) << ini << endl;
}
#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...