output_description: Print the minimum radius of a circle such that all the N points are inside or
  on it.
  
  Your output will be considered correct if the absolute or relative error from
  our answer is at most 10^{-6}.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      x_1 y_1
      :
      x_N y_N
attempt: import sys
  from math import hypot
  
  readline = sys.stdin.readline
  
  N = int(readline())
  Points = [tuple(map(int, readline().split())) for _ in range(N)]
  
  inf = 10**9 + 7
  EPS = 1e-8
  ans = inf
  for i in range(N):
      for j in range(i):
          a = Points[i][0]
          b = Points[i][1]
          c = Points[j][0]
          d = Points[j][1]
          px, py = (a + c) / 2, (b + d) / 2
          R = hypot(a - px, b - py)
          if all(hypot(px - xi, py - yi) <= R + EPS for xi, yi in Points):
              ans = min(ans, R)
  
  for i in range(N):
      for j in range(i):
          for k in range(j):
              a = Points[i][0]
              b = Points[i][1]
              c = Points[j][0]
              d = Points[j][1]
              e = Points[k][0]
              f = Points[k][1]
  
              ea = hypot(c - e, d - f)
              eb = hypot(a - e, b - f)
              ec = hypot(a - c, b - d)
              cA = (ec**2 + eb**2 - ea**2) / (2 * ec * eb)
              cB = (ec**2 - eb**2 + ea**2) / (2 * ec * ea)
              cC = (-(ec**2) + eb**2 + ea**2) / (2 * ea * eb)
              sA = (1 - cA**2) ** 0.5
              sB = (1 - cB**2) ** 0.5
              sC = (1 - cC**2) ** 0.5
              s2A = 2 * sA * cA
              s2B = 2 * sB * cB
              s2C = 2 * sC * cC
              if max(s2A, s2B, s2C) < EPS:
                  continue
              else:
                  px = (a * s2A + c * s2B + e * s2C) / (s2A + s2B + s2C)
                  py = (b * s2A + d * s2B + f * s2C) / (s2A + s2B + s2C)
                  R = hypot(px - a, py - b)
  
              if all(hypot(px - xi, py - yi) <= R + EPS for xi, yi in Points):
                  ans = min(ans, R)
  print(ans)
  
problem_description: Statement
  
  Given are N points (x_i, y_i) in a two-dimensional plane.
  
  Find the minimum radius of a circle such that all the points are inside or on
  it.
samples: [{"input": "2\n    0 0\n    1 0", "output": "0.500000000000000000\n    \n\nBoth points are contained in the circle centered at (0.5,0) with a radius of\n0.5.\n\n* * *"}, {"input": "3\n    0 0\n    0 1\n    1 0", "output": "0.707106781186497524\n    \n\n* * *"}, {"input": "10\n    10 9\n    5 9\n    2 0\n    0 0\n    2 7\n    3 3\n    2 5\n    10 0\n    3 7\n    1 9", "output": "6.726812023536805158\n    \n\nIf the absolute or relative error from our answer is at most 10^{-6}, the\noutput will be considered correct."}]