아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

치타 무리 촬영

시간 제한3초메모리 제한256 MB

요약
같은 지점에서 출발 시각과 속도가 다른 치타들의 선두와 후미 사이 거리가 전원 출발 이후 가장 짧아지는 값을 구합니다.
난이도

보통10점 중 6점

유형
이분 탐색, 수학
정답자
아직 제출이 없습니다

문제

동물의 속도를 다루는 다큐멘터리 촬영팀이 전속력으로 달리는 치타를 한 화면에 여러 마리 담으려고 한다. 한 마리가 달리는 장면은 이미 여러 번 찍었으니, 이번에는 무리를 노린다.

치타를 상자 하나에 몰아넣었다가 한꺼번에 풀어놓는 방식은 위험해서 쓸 수 없다. 그래서 치타마다 출발 상자를 따로 두고 느린 치타를 먼저 풀어놓기로 했다. 시간이 지나면 빠른 치타가 느린 치타를 따라잡고, 어느 순간 무리가 가장 짧게 뭉친다. 촬영팀은 그 순간의 무리 길이를 알고 싶어 한다.

출발 상자는 모두 같은 지점에 있다고 본다. kk번 치타는 시각 tkt_k에 풀려나고, 그 순간부터 일정한 속력 vkv_k로 달린다. 시각 TT에서 무리의 길이는 가장 앞선 치타와 가장 뒤처진 치타 사이의 거리다.

길이는 모든 치타가 이미 출발한 시각, 즉 T≥max⁡(t1,…,tN)T \ge \max(t_1, \dots, t_N)에서만 잰다. 트랙은 충분히 길어서 무리가 가장 짧아지는 순간은 선두 치타가 결승선에 닿기 전에 온다. 무리 길이의 최솟값을 구하라.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫 줄에는 치타의 수 NN (1≤N≤1000001 \le N \le 100000)이 주어진다. 이어지는 NN개의 줄에는 각각 두 정수 tkt_k와 vkv_k가 공백으로 구분되어 주어진다 (1≤tk,vk≤999991 \le t_k, v_k \le 99999). tkt_k는 kk번 치타가 출발하는 시각이고 vkv_k는 그 치타의 속력이다.

입력의 마지막 줄에는 00이 하나 주어진다. 이 줄은 테스트 케이스가 아니다.

출력

각 테스트 케이스마다 무리 길이의 최솟값을 한 줄에 출력한다. 소수점 아래 넷째 자리에서 반올림하고, 소수점 아래 세 자리를 끝의 00까지 빠짐없이 적는다.

예제2

  1. 예제 1

    입력
    2
    1 1
    1 1
    2
    1 99999
    99999 99999
    3
    1 1
    3 2
    4 3
    0
    
    예상 출력
    0.000
    9999700002.000
    0.500
    
  2. 예제 2

    입력
    2
    1 2
    5 4
    0
    
    예상 출력
    0.000