배달 시간으로 찾는 매장 위치
시간 제한2초메모리 제한512 MB
각 친구마다 맨해튼 거리가 정확히 t이면서 모든 친구와 거리가 t 이상인 정수 좌표 중 사전 순으로 가장 작은 점을 출력합니다.
문제
작년에 바비큐 명인 코스타가 맨해튼에 식당 여러 곳을 열었다. 처음에는 장사가 잘됐지만, 최근에 문을 연 패스트푸드 체인이 손님을 많이 빼앗아 갔다. 그 체인은 매장에서 음식을 먹을 수 없고 매장 위치도 알려져 있지 않다. 배달만 한다. 코스타는 배달 시간을 근거로 그 체인의 매장이 있을 만한 위치를 알아내려고 한다.
맨해튼의 도로는 좌표축과 평행하다. 그래서 매장과 손님의 위치를 좌표가 모두 정수인 평면 위의 점으로 나타낸다. 점 과 점 사이의 거리는 이다.
손님이 온라인으로 주문하면 그 손님과 가장 가까운 매장에서 곧바로 배달이 시작된다. 가장 가까운 매장이 여럿이면 그중 아무 곳에서나 배달한다. 배달 시간은 손님과 그 매장 사이의 거리와 같다.
코스타는 친구 명에게 주문을 넣고 배달 시간을 재 달라고 부탁했다. 모인 자료와 어긋나지 않는 매장 배치를 구하는 프로그램을 작성하시오. 같은 자료에 맞는 배치는 여러 가지일 수 있으므로, 출력은 아래에서 정한 하나의 배치로 고정한다.
입력
첫째 줄에 코스타의 친구 수 이 주어진다.
다음 개의 줄에는 정수 , , 가 공백 하나로 구분되어 주어진다. 좌표 에 있는 친구가 잰 배달 시간이 라는 뜻이다. 친구의 좌표는 모두 서로 다르다.
, , 이다.
주어진 자료와 어긋나지 않는 매장 배치가 적어도 하나 존재함이 보장된다.
출력
개의 줄을 출력한다. 번째 줄에는 번째 친구에게 배달한 매장의 좌표 와 를 공백 하나로 구분해 출력한다.
번째 줄에 쓸 점은 다음 두 조건을 모두 만족하는 정수 좌표의 점 가운데 사전순으로 가장 앞서는 것이다. 사전순은 가 작은 것이 앞서고, 가 같으면 가 작은 것이 앞선다.
- 번째 친구와의 거리가 정확히 이다.
- 모든 친구 에 대해, 번째 친구와의 거리가 이상이다.
이런 점은 항상 존재하고, 그 좌표는 항상 이상 이하이다. 이렇게 고른 개의 점을 모두 모으면 자료와 어긋나지 않는 매장 배치가 된다. 여러 줄에 같은 점이 나올 수 있다.
힌트
두 번째 예제를 보자. 친구 2는 에 있고 배달 시간이 2이므로, 매장은 에서 거리가 정확히 2인 점에 있어야 한다. 후보를 가 작은 순서로 살펴보면 , , , , 는 모두 어떤 친구에게 그 친구의 배달 시간보다 가까워서 매장을 놓을 수 없다. 다음 후보인 가 친구 2의 답이다.