답안 #930448

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
930448 2024-02-19T17:48:56 Z sleepntsheep Mobile (BOI12_mobile) C++17
0 / 100
141 ms 8428 KB
#include <stdio.h>
#include <math.h>
#define N 1000000

int n, L, x[N], y[N];

int ok(long double m)
{
    m *= m;
    long double li = 0, ri = L;
    for (int i = 0; i < n; ++i)
    {
        long double lbnd = INFINITY, rbnd = -INFINITY;

        long double l = -1e9, r = x[i];
        for (int iter = 100; iter--;)
        {
            long double mm = (l+r)/2;
            if (mm*mm - 2*mm*x[i] <= m - x[i] * x[i] - y[i] * y[i])
                r = mm, lbnd = mm;
            else l = mm;
        }

        l = x[i], r = 1e9;
        for (int iter = 100; iter--;)
        {
            long double mm = (l+r)/2;
            if (mm*mm - 2*mm*x[i] <= m - x[i] * x[i] - y[i] * y[i])
                l = mm, rbnd = mm;
            else r = mm;
        }
        if (lbnd > li) li = lbnd;
        if (ri > rbnd) ri = rbnd;
    }
    return 1;
}

int main()
{
    scanf("%d%d", &n, &L);
    for (int i = 0; i < n; ++i) scanf("%d%d", x+i, y+i);

    long double l = 0, r = 2e9;
    for (int iter = 200; iter--;)
    {
        long double m = (l+r)/2;
        if (ok(m)) r = m;
        else l = m;
    }

    printf("%.6Lf", r);


    return 0;
}

Compilation message

mobile.cpp: In function 'int main()':
mobile.cpp:40:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   40 |     scanf("%d%d", &n, &L);
      |     ~~~~~^~~~~~~~~~~~~~~~
mobile.cpp:41:38: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   41 |     for (int i = 0; i < n; ++i) scanf("%d%d", x+i, y+i);
      |                                 ~~~~~^~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 2392 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 2392 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 2392 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 2392 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 2396 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 2396 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 11 ms 2640 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 11 ms 2648 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 16 ms 2664 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 14 ms 2652 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 19 ms 2676 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 60 ms 7692 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 72 ms 7568 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 73 ms 7504 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 86 ms 7508 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 82 ms 7504 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 105 ms 7692 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 98 ms 7504 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 114 ms 7504 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 123 ms 8428 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 141 ms 8020 KB Output isn't correct
2 Halted 0 ms 0 KB -