Submission #1189428

#TimeUsernameProblemLanguageResultExecution timeMemory
1189428AlfraganusMobile (BOI12_mobile)C++20
0 / 100
961 ms31560 KiB
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define fs first
#define ss second
#define str string
#define endl '\n'
#define all(a) a.begin(), a.end()

#define print(a)          \
    for (auto x : a)      \
        cout << x << ' '; \
    cout << endl;

#define printmp(a)   \
    for (auto x : a) \
        cout << x.fs << ' ' << x.ss << endl;

#define Matrix(a)             \
    for (auto x : a) {        \
        for (auto y : x)      \
            cout << y << ' '; \
        cout << endl;         \
    }

const int mod = 1e9 + 7;

void solve() {
    long double n, k;
    cin >> n >> k;
    vector<array<long double, 2>> a(n);
    for(int i = 0; i < n; i ++)
        cin >> a[i][0] >> a[i][1];

    auto val = [&](long double k){
        long double mn = 1e18;
        for(int i = 0; i < n; i ++)
            mn = min(mn, sqrt(abs(a[i][0] - k) * abs(a[i][0] - k) + abs(a[i][1]) * abs(a[i][1])));
        return mn;
    };

    long double l = 0, r = k;
    for(int i = 0; i < 100; i ++){
        long double mid1 = (r - l) / 3 + l, mid2 = r - (r - l) / 3;
        if(val(mid1) < val(mid2))
            l = mid1;
        else
            r = mid2;
    }
    cout << fixed << setprecision(6) << val(l);
}

signed main() {
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    int t = 1;
    // cin >> t;
    while (t--) {
        solve();
        cout << 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...