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

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

Lying From You

시간 제한10초메모리 제한512 MB

요약
n개의 직선 y = a_i x + b_i가 주어질 때, 계수를 L1 비용으로 바꿔 모든 직선이 한 점을 지나게 만드는 최소 비용의 하한을 구한다.
난이도

어려움10점 중 8점

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

문제

평면 위에 nn개의 직선이 주어진다. 각 직선은 y=aix+biy = a_i x + b_i 꼴의 방정식으로 정의된다. 한 직선의 계수를 (a,b)(a, b)에서 (a′,b′)(a', b')으로 바꾸는 데 드는 비용은 ∣a−a′∣+∣b−b′∣|a - a'| + |b - b'| 루블이다. 이 연산은 임의의 직선에 대해 임의의 횟수만큼 할 수 있고, 바뀐 계수는 어떤 실수든 될 수 있다. 목표는 모든 직선이 한 점을 지나도록 만드는 것이다.

목표를 달성하는 연산들의 총비용 집합을 CC라 하자. inf⁡C\inf C, 즉 총비용의 최대 하한을 구하여라.

입력

첫째 줄에 직선의 개수 nn이 주어진다 (1≤n≤1051 \le n \le 10^5).

다음 nn개 줄에 각각 두 정수 aia_i와 bib_i가 주어진다 (∣ai∣,∣bi∣≤106|a_i|, |b_i| \le 10^6).

출력

답을 한 줄에 출력한다. 절대 오차 또는 상대 오차가 10−610^{-6} 이하여야 한다.

힌트

첫 번째 예시에서는 첫 번째 직선의 bb를 −0.5-0.5로 바꾸면 충분하다.

예제2

  1. 예제 1

    입력
    3
    0 0
    1 -1
    -1 0
    
    예상 출력
    0.500000000000000
    
  2. 예제 2

    입력
    5
    4 1
    3 0
    3 1
    2 0
    1 2
    
    예상 출력
    3.000000000000000