답안 #466094

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
466094 2021-08-17T22:10:10 Z joshualiu555 Mobile (BOI12_mobile) C++14
100 / 100
558 ms 35268 KB
/*
  _____                                     _        _
 / ____|                                   | |      | |
| |  __ _ __ __ _ ___ ___ _   _ _ __   ___ | |_ __ _| |_ ___
| | |_ | '__/ _` / __/ __| | | | '_ \ / _ \| __/ _` | __/ _ \
| |__| | | | (_| \__ \__ \ |_| | |_) | (_) | || (_| | || (_) |
 \_____|_|  \__,_|___/___/\__, | .__/ \___/ \__\__,_|\__\___/
                           __/ | |
                          |___/|_|
*/

#include <fstream>
#include <iostream>
#include <iomanip>
#include <algorithm>
#include <numeric>
#include <array>
#include <vector>
#include <set>
#include <map>
#include <stack>
#include <queue>
#include <cmath>
#include <cstring>
#include <bitset>
#include <string>
#include <sstream>

using namespace std;

using ll = long long;
const int INF = 1e6 + 5;
const int MOD = 1e9 + 7;
const int dx[4] = {1, -1, 0, 0};
const int dy[4] = {0, 0, 1, -1};

ll N, L;
pair<ll, ll> xy[INF];

bool check (double radius) {
    double current = 0;
    for (int i = 0; i < N; i++) {
        double horz = sqrt(radius * radius - xy[i].second * xy[i].second);
        double left = xy[i].first - horz, right = xy[i].first + horz;
        if (left <= current) current = max(current, right);
    }
    return current >= L;
}

int main()
{
    std::ios_base::sync_with_stdio(false); cin.tie(0);

//    ifstream cin(".in");
//    ofstream cout(".out");

    cin >> N >> L;
    for (int i = 0; i < N; i++) cin >> xy[i].first >> xy[i].second;

    double l = 1, r = 1.5 * 1e9;
    while (r - l > 1e-3) {
        double m = (l + r) / 2;
        if (check(m)) {
            r = m;
        } else {
            l = m;
        }
    }

    cout << fixed << setprecision(4) << l << '\n';

    return 0;
}

/*
 *
*/

//
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 1 ms 204 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 332 KB Output is correct
2 Correct 1 ms 332 KB Output is correct
3 Correct 1 ms 332 KB Output is correct
4 Correct 1 ms 332 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 380 KB Output is correct
2 Correct 3 ms 332 KB Output is correct
3 Correct 2 ms 332 KB Output is correct
4 Correct 3 ms 332 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 332 KB Output is correct
2 Correct 2 ms 332 KB Output is correct
3 Correct 2 ms 332 KB Output is correct
4 Correct 3 ms 332 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 332 KB Output is correct
2 Correct 2 ms 332 KB Output is correct
3 Correct 3 ms 332 KB Output is correct
4 Correct 3 ms 332 KB Output is correct
5 Correct 3 ms 332 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 37 ms 1484 KB Output is correct
2 Correct 32 ms 1508 KB Output is correct
3 Correct 21 ms 1152 KB Output is correct
4 Correct 39 ms 1480 KB Output is correct
5 Correct 20 ms 1104 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 33 ms 1484 KB Output is correct
2 Correct 33 ms 1400 KB Output is correct
3 Correct 37 ms 1484 KB Output is correct
4 Correct 37 ms 1484 KB Output is correct
5 Correct 43 ms 1584 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 32 ms 1676 KB Output is correct
2 Correct 34 ms 1484 KB Output is correct
3 Correct 34 ms 1608 KB Output is correct
4 Correct 75 ms 1856 KB Output is correct
5 Correct 38 ms 1612 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 42 ms 1876 KB Output is correct
2 Correct 47 ms 1768 KB Output is correct
3 Correct 40 ms 1868 KB Output is correct
4 Correct 52 ms 1868 KB Output is correct
5 Correct 47 ms 1872 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 42 ms 1860 KB Output is correct
2 Correct 43 ms 1892 KB Output is correct
3 Correct 40 ms 1864 KB Output is correct
4 Correct 51 ms 1860 KB Output is correct
5 Correct 45 ms 1868 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 181 ms 8040 KB Output is correct
2 Correct 215 ms 8132 KB Output is correct
3 Correct 205 ms 8128 KB Output is correct
4 Correct 268 ms 8084 KB Output is correct
5 Correct 245 ms 8096 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 208 ms 8024 KB Output is correct
2 Correct 275 ms 8124 KB Output is correct
3 Correct 203 ms 8168 KB Output is correct
4 Correct 251 ms 8080 KB Output is correct
5 Correct 230 ms 8132 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 219 ms 9612 KB Output is correct
2 Correct 260 ms 9596 KB Output is correct
3 Correct 245 ms 9692 KB Output is correct
4 Correct 309 ms 9740 KB Output is correct
5 Correct 275 ms 9580 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 257 ms 9668 KB Output is correct
2 Correct 318 ms 9692 KB Output is correct
3 Correct 251 ms 9668 KB Output is correct
4 Correct 307 ms 9616 KB Output is correct
5 Correct 281 ms 9740 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 260 ms 11340 KB Output is correct
2 Correct 311 ms 11204 KB Output is correct
3 Correct 283 ms 11208 KB Output is correct
4 Correct 365 ms 11320 KB Output is correct
5 Correct 321 ms 20280 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 298 ms 11252 KB Output is correct
2 Correct 368 ms 11256 KB Output is correct
3 Correct 283 ms 11172 KB Output is correct
4 Correct 352 ms 11260 KB Output is correct
5 Correct 326 ms 21336 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 301 ms 12756 KB Output is correct
2 Correct 340 ms 12752 KB Output is correct
3 Correct 329 ms 12892 KB Output is correct
4 Correct 411 ms 12828 KB Output is correct
5 Correct 387 ms 24084 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 334 ms 12828 KB Output is correct
2 Correct 424 ms 12832 KB Output is correct
3 Correct 342 ms 22336 KB Output is correct
4 Correct 427 ms 28332 KB Output is correct
5 Correct 378 ms 24388 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 368 ms 15960 KB Output is correct
2 Correct 415 ms 16120 KB Output is correct
3 Correct 415 ms 30500 KB Output is correct
4 Correct 516 ms 22852 KB Output is correct
5 Correct 481 ms 29544 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 428 ms 15936 KB Output is correct
2 Correct 558 ms 15948 KB Output is correct
3 Correct 415 ms 28228 KB Output is correct
4 Correct 517 ms 35268 KB Output is correct
5 Correct 502 ms 30660 KB Output is correct