Submission #1168670

#TimeUsernameProblemLanguageResultExecution timeMemory
1168670IskachunMobile (BOI12_mobile)C++20
100 / 100
280 ms15944 KiB
// i am glitching. i think i found my mistake. lets try again and see :D

#include <iostream>
#include <vector>
#include <iomanip>
#include <cmath>
using namespace std;
typedef long long ll;
void solve() {
    ll n, l; cin >> n >> l;
    vector<pair<ll,ll>> a(n);
    for (auto &x : a) cin >> x.first >> x.second;
    double left = 1, right = 1.5e9;
    while (right - left > 1e-3) {
        double mid = (left + right) / 2, curr = 0;
        for (auto x : a) {
            double d = sqrt(mid * mid - x.second * x.second);
            if (x.first - d <= curr) curr = max(curr, x.first + d);
        }
        if (curr >= l) right = mid;
        else left = mid;
    }
    cout << fixed << setprecision(4) << left;
}

int main() {
    //freopen("filename.in", "r", stdin), freopen("filename.out", "w", stdout);
    ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    int t = 1; //cin >> t;
    while (t--) solve();
}

#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...