도로 자전거 경주에 참가하는 선수들은 초기 시각이라고 부르는 어떤 시각에 출발점에서 각각 $x_1,x_2,\ldots,x_n$ 미터 떨어진 위치에 있습니다($n$은 선수의 총수입니다). 각 선수는 각자의 일정한 속도로 움직이며, 속도는 각각 초당 $v_1,v_2,\ldots,v_n$ 미터입니다. 모든 선수는 같은 방향으로 움직입니다.
경기를 취재하는 기자는 헬리콥터에서 모든 참가자를 한꺼번에 촬영하기 위해 선두 선수와 마지막 선수 사이의 거리가 최소가 되는 시각을 알고 싶어 합니다.
선수 수 $n$, 초기 위치 $x_1,x_2,\ldots,x_n$, 속도 $v_1,v_2,\ldots,v_n$이 주어졌을 때, 선두 선수와 마지막 선수 사이의 거리 $l$이 최소가 되는 시각 $t$를 계산하는 프로그램을 작성하세요.
입력
입력 파일의 첫 줄에는 선수 수를 나타내는 정수 $n$이 주어집니다.
다음 $n$개의 줄에는 각각 두 정수가 주어집니다. $x_i$는 초기 시각에 출발점에서 선수 $i$까지의 거리($0\le x_i\le10^7$)이고, $v_i$는 그 선수의 속도($0\le v_i\le10^7$)입니다.
출력
출력 파일에 두 실수를 출력하세요. $t$는 초기 시각부터 선두와 마지막 선수 사이의 미터 단위 거리가 최소가 될 때까지 경과한 시간(초)이고, $l$은 그 거리입니다.
$t$와 $l$의 절대 오차 또는 상대 오차는 $10^{-6}$ 이하여야 합니다. 즉 출력한 값이 $x$, 올바른 답이 $y$라면, $|x-y|/\max\{1,|y|\}$가 $10^{-6}$ 이하일 때 정답으로 인정됩니다.
예제
입력 1
3 0 40 30 10 40 30
출력 1
1 30
입력 2
5 90 100 100 70 100 70 110 60 120 35
출력 2
0.5 5.000000000000
서브태스크
이 문제에는 네 개의 서브태스크가 있습니다. 각 서브태스크는 별도의 테스트 그룹으로 채점하며, 해당 그룹의 모든 테스트를 통과해야 점수를 받습니다.
서브태스크 1 (20 점)
$2\le n\le50$, $0\le x_i\le1000$, $0\le v_i\le1000$. $t$가 $1000$ 이하의 정수인 답이 존재함이 보장됩니다.
서브태스크 2 (20 점)
$2\le n\le200$.
서브태스크 3 (30 점)
$2\le n\le2000$.
서브태스크 4 (30 점)
$2\le n\le10^5$.
피드백
대회 중 심사위원 테스트에서 프로그램을 실행한 결과를 최대 10번 요청할 수 있습니다. 요청은 5분에 한 번보다 자주 할 수 없습니다. 각 테스트에 대해 해당 테스트에서의 프로그램 실행 결과가 제공됩니다.
이 문제에서는 채점할 풀이를 선택할 수 있습니다. 이 경우 다음 풀이 중 더 좋은 풀이에 점수가 부여됩니다.
- 명시적으로 선택한 풀이;
- 채점을 위해 마지막으로 접수된 풀이.
선택하지 않았다면 다음 풀이 중 가장 좋은 풀이가 채점됩니다.
- 점수를 확인한 풀이;
- 채점을 위해 마지막으로 접수된 풀이.