| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 | 
|---|---|---|---|---|---|---|---|
| 1247200 | tkhoi13 | Mobile (BOI12_mobile) | C++20 | 1096 ms | 40348 KiB | 
#include <bits/stdc++.h>
#define ll long long
#define db double
#define fi first
#define se second
#define pb push_back
#define all(x) begin(x), end(x)
#define allr(x) rbegin(x), rend(x)
#define szx(x) ((int)(x).size())
#define FOR(i, a, b) for (int i = a, _b = (b); i <= _b; ++i)
#define ROF(i, a, b) for (int i = a, _b = (b); i >= _b; --i)
#define REP(i, n) for (int i = 0, _n = (n); i < _n; ++i)
#define endl '\n'
using namespace std;
void setIO(string filename = "") {
    ios::sync_with_stdio(0);
    cin.tie(0);
    if (!filename.empty()) {
        if (ifstream(filename + ".in")) {
            freopen((filename + ".in").c_str(), "r", stdin);
            freopen((filename + ".out").c_str(), "w", stdout);
        }
    }
}
int n;
int l;
vector<pair<int, int>> cord;
bool ok(db x) {
    vector<pair<db, db>> cutted;
    REP(i, n) {
        if (cord[i].se > x) continue;
        db t = sqrt(x * x - cord[i].se * cord[i].se);
        db l0 = max(0.0, cord[i].fi - t);
        db r0 = min(1.0 * l, cord[i].fi + t);
        if (l0 > r0) continue;
        cutted.pb({l0, r0});
        // cout << l << ' ' << r << ' ' << cord[i].fi << ' ' << cord[i].se << ' ' << x << endl;
    }
    sort(all(cutted));
    REP(i, szx(cutted) - 1)
    if (cutted[i].se < cutted[i + 1].fi) return 1;
    if (cutted.empty() || cutted[0].fi > 0 || cutted.back().se < l) return 1;
    return 0;
}
void solve() {
    cin >> n >> l;
    REP(i, n) {
        int x, y;
        cin >> x >> y;
        if (cord.empty())
            cord.pb({x, y});
        else if (cord.back().fi != x)
            cord.pb({x, y});
    }
    n = szx(cord);
    db l = 0, r = 1e9 * sqrt(2) + 1;
    REP(_, 40) {
        db m = (r + l) / 2;
        // cout << m << ' ' << ok(m) << endl;
        if (ok(m))
            l = m;
        else
            r = m;
    }
    cout << fixed << setprecision(6) << l;
}
int main() {
    setIO("socdist");
    int t = 1;
    // cin >> t;
    while (t--) solve();
}
컴파일 시 표준 에러 (stderr) 메시지
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
