제출 #1201807

#제출 시각아이디문제언어결과실행 시간메모리
1201807AlfraganusMobile (BOI12_mobile)C++20
0 / 100
1080 ms31556 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() {
    int n;
    long double L;
    cin >> n >> L;
    vector<array<long double, 2>> a(n);
    for(int i = 0; i < n; i ++)
        cin >> a[i][0] >> a[i][1];
    
    auto dist = [&](long double x){
        long double mn = 5e18;
        for(int i = 0; i < n; i ++)
            mn = min(mn, abs(x - a[i][0]) * abs(x - a[i][0]) + a[i][1] * a[i][1]);
        return mn;
    };
    
    long double l = 0, r = L;
    for(int i = 0; i < 100; i ++){
        long double mid1 = l + (r - l) / 3.0, mid2 = r - (r - l) / 3.0;
        if(dist(mid1) > dist(mid2))
            r = mid2;
        else
            l = mid1;
    }
    cout << fixed << setprecision(5) << 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...