Submission #1311663

#TimeUsernameProblemLanguageResultExecution timeMemory
1311663gygMobile (BOI12_mobile)Pypy 3
0 / 100
599 ms196608 KiB
import sys
import math

def main():
    data = sys.stdin.read().strip().split()
    it = iter(data)

    n = int(next(it))
    length = int(next(it))

    p = []
    for _ in range(n):
        x = int(next(it))
        y = int(next(it))
        p.append((x, y))

    l = 1.0
    r = 1.5e9

    while r - l > 1e-3:
        mid = (l + r) / 2.0
        curr = 0.0
        for x, y in p:
            delta = math.sqrt(mid * mid - y * y)
            a = x - delta
            b = x + delta
            if a <= curr:
                if b > curr:
                    curr = b

        if curr >= length:
            r = mid
        else:
            l = mid

    print(f"{l:.4f}")

if __name__ == "__main__":
    main()

Compilation message (stdout)

Compiling 'mobile.py'...

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

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