import sys
class Star:
def __init__(self, x, y, dx, dy):
self.x = x
self.y = y
self.dx = dx
self.dy = dy
def place(self, t):
x = self.x
y = self.y
dx = self.dx
dy = self.dy
return [ x + t * dx , y + t * dy]
def dist(self, P, t):
P1 = self.place(t)
P2 = P.place(t)
x1, y1 = P1[0], P1[1]
x2, y2 = P2[0], P2[1]
return (x2 - x1)*(x2 - x1) + (y2 - y1)*(y2 - y1)
def g(L, t):
n = len(L)
cnt = 0
for i in range(n):
for j in range(i):
temp = L[i].dist(L[j], t)
if temp > cnt:
cnt = temp
return cnt
def f(L, P):
lo = 0
hi = P
while (lo <= hi):
llh = (2*lo + hi)/3
lhh = (lo + 2*hi + 1)/3
if g(L, llh) <= g(L, lhh):
hi = lhh-1
else:
lo = llh+1
return [lo, g(L, lo)]
n, T = map(int, sys.stdin.readline().split())
L = [None]*n
for i in range(n):
x, y, dx, dy = map(int, sys.stdin.readline().split())
L[i] = Star(x, y, dx, dy)
k = f(L, T)
print k[0]
print k[1]
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
16 ms |
2 KB |
Output is correct |
2 |
Correct |
14 ms |
2 KB |
Output is correct |
3 |
Correct |
20 ms |
2 KB |
Output is correct |
4 |
Correct |
13 ms |
2 KB |
Output is correct |
5 |
Correct |
16 ms |
2 KB |
Output is correct |
6 |
Correct |
15 ms |
2 KB |
Output is correct |
7 |
Correct |
14 ms |
2 KB |
Output is correct |
8 |
Correct |
15 ms |
2 KB |
Output is correct |
9 |
Correct |
15 ms |
2 KB |
Output is correct |
10 |
Correct |
16 ms |
2 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
16 ms |
2 KB |
Output is correct |
2 |
Correct |
14 ms |
2 KB |
Output is correct |
3 |
Correct |
20 ms |
2 KB |
Output is correct |
4 |
Correct |
13 ms |
2 KB |
Output is correct |
5 |
Correct |
16 ms |
2 KB |
Output is correct |
6 |
Correct |
15 ms |
2 KB |
Output is correct |
7 |
Correct |
14 ms |
2 KB |
Output is correct |
8 |
Correct |
15 ms |
2 KB |
Output is correct |
9 |
Correct |
15 ms |
2 KB |
Output is correct |
10 |
Correct |
16 ms |
2 KB |
Output is correct |
11 |
Execution timed out |
2043 ms |
3 KB |
Time limit exceeded |
12 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
2069 ms |
16 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
16 ms |
2 KB |
Output is correct |
2 |
Correct |
14 ms |
2 KB |
Output is correct |
3 |
Correct |
20 ms |
2 KB |
Output is correct |
4 |
Correct |
13 ms |
2 KB |
Output is correct |
5 |
Correct |
16 ms |
2 KB |
Output is correct |
6 |
Correct |
15 ms |
2 KB |
Output is correct |
7 |
Correct |
14 ms |
2 KB |
Output is correct |
8 |
Correct |
15 ms |
2 KB |
Output is correct |
9 |
Correct |
15 ms |
2 KB |
Output is correct |
10 |
Correct |
16 ms |
2 KB |
Output is correct |
11 |
Execution timed out |
2043 ms |
3 KB |
Time limit exceeded |
12 |
Halted |
0 ms |
0 KB |
- |