제출 #980554

#제출 시각아이디문제언어결과실행 시간메모리
980554brijeshSiwachBalloons (CEOI11_bal)Cpython 3
20 / 100
2072 ms45988 KiB

import random
import time

random.seed(time.time())



def solve():
   	n=int(input())
   	a=[list(map(int,input().split())) for _ in range(n)]
   	ans = [0]*(n)
   	def check(i: int, j: int, r1: float, r2: float):
   		d = (a[i][0]-a[j][0])**2 + (r1 - r2)**2
   		if d < (r1+r2)**2:
   			return 0
   		return 1

   	def find(i: int,x: float):
   		ok = 1
   		for j in range(i):
   			ok &= check(j, i, ans[j], x)
   		return ok


   	for i in range(n):
   		l, h=0.0,a[i][1]
   		while h-l > float(1e-3):
   			mid = (l + h )/2
   			if find(i, mid) == 1:
   				ans[i]=mid
   				l=mid
   			else:
   				h=mid
   	print(*ans, sep="\n")


if __name__ == '__main__':
	t = 1
	# print(t)
	while t > 0:
		t -= 1
		solve()
#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...