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

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

Ostap과 의자

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

요약
N개의 x좌표와 N개의 y좌표가 주어질 때, |x_i - (k*y_i + b)|의 합을 최소로 하는 실수 k와 b를 구한다.
난이도

어려움10점 중 8점

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

문제

컴퓨터 게임 <<Ostap과 의자>>에는 작은 Ostap 무리에서 각 Ostap이 자기 의자로 달려가는 감동적인 장면이 있다. 이 장면의 그래픽은 이미 그려져 있다. 첫 번째 그림은 Ostap들이고 좌표 xix_i가 정해져 있으며, 두 번째 그림은 의자들이고 좌표 yiy_i도 알려져 있다.

게임을 시작하기 전에 Ostap이나 의자를 움직일 수는 없지만, 선형 변환 yi→k∗yi+by_i \rightarrow k*y_i+b로 두 번째 그림의 크기를 바꿀 수 있다. 그다음 첫 번째 Ostap이 첫 번째 의자로 달려가고, 두 번째 Ostap이 두 번째 의자로 달려가는 식으로 진행하며, 걸린 시간을 모두 더한다. 플레이어의 목표는 이 시간을 최대한 짧게 만드는 것, 즉 합산한 거리의 합을 최소화하는 것이다.

가능한 최솟값을 구하여라. ∑i=1N∣xi−(kyi+b)∣\sum_{i=1}^{N} |x_i-(k y_i+b)|

입력

입력 파일의 첫째 줄에는 정수 NN이 하나 주어진다. NN은 Ostap과 의자의 수이다(2≤N≤3002 \le N \le 300). 이어지는 두 줄에는 각각 정수 NN개가 주어진다. 둘째 줄에는 Ostap의 좌표 xix_i가, 셋째 줄에는 의자의 좌표 yiy_i가 들어 있다(1≤i≤N1 \le i \le N, ∣xi∣,∣yi∣≤103|x_i|, |y_i| \le 10^3). 모든 xix_i는 서로 다르고, 모든 yiy_i도 서로 다르다.

출력

답으로 실수 세 개를 출력한다. DD는 총 거리의 가능한 최솟값이고, KK와 BB는 그 거리를 달성하는 계수이다.

거리 DD의 최적값에 대한 상대 오차 또는 절대 오차는 10−910^{-9}을 넘지 않아야 한다. 계수 KK와 BB로 계산한 총 거리도 같은 정밀도로 DD와 일치해야 한다.

예제2

  1. 예제 1

    입력
    3
    0 3 -5
    4 1 -2 
    
    예상 출력
    5.5 0.8333333333 -3.3333333333
    
  2. 예제 2

    입력
    2
    -7 12
    -7 12
    
    예상 출력
    0 1 0