제출 #1258982

#제출 시각아이디문제언어결과실행 시간메모리
1258982aditya_k47Mobile (BOI12_mobile)Pypy 3
0 / 100
618 ms141924 KiB
from collections import deque
import math

def solve_d(x1, y1, x2, y2):
    # x coordinate where distances to (x1,y1) and (x2,y2) are equal
    return (x2**2 + y2**2 - x1**2 - y1**2) / (2 * (x2 - x1))

n, l = map(int, input().split())
points = []

for _ in range(n):
    x, y = map(int, input().split())
    points.append((x, y))

points.sort()
ans = 0.0

dq = deque()
dq.append(points[0])

# check at x=0
ans = max(ans, min(math.sqrt((0 - px)**2 + py**2) for px, py in points))

for i in range(1, n):
    if dq[-1][0] == points[i][0]:
        continue
    # compute intersection
    x_cross = solve_d(dq[-1][0], dq[-1][1], points[i][0], points[i][1])
    if 0 <= x_cross <= l:
        d = math.sqrt((x_cross - dq[-1][0])**2 + dq[-1][1]**2)
        ans = max(ans, d)
    dq.pop()
    dq.append(points[i])

# check at x=l
ans = max(ans, min(math.sqrt((l - px)**2 + py**2) for px, py in points))

print(f"{ans:.6f}")

컴파일 시 표준 출력 (stdout) 메시지

Compiling 'mobile.py'...

=======
  adding: __main__.pyc (deflated 42%)

=======
#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...