안전 구역
시간 제한1초메모리 제한128 MB
축에 나란한 광산 지대와 최대 300개의 지뢰가 주어질 때, 짧은 변이 가장 긴 지뢰 없는 직사각형을 찾고 그다음 긴 변이 가장 긴 것을 찾는다.
문제
지뢰밭이 좌표축에 평행한 직사각형 경계와 그 안에 놓인 모든 지뢰의 위치로 주어진다. 헬리콥터가 착륙할 가장 안전한 구역을 찾아야 한다. 이 구역은 밭 안에 들어가고, 내부에 지뢰가 하나도 없으며, 짧은 변의 길이가 가능한 한 긴 좌표축 평행 직사각형이다.
형식적으로, 밭 안에 있으면서 내부에 지뢰가 전혀 없는 모든 좌표축 평행 직사각형을 생각하자. 그 두 변의 길이를 , ()라 하면, 가장 안전한 구역은 가 가능한 한 큰 직사각형이고, 그러한 최대 를 달성하는 직사각형들 중에서는 가 가장 큰 것이다.
직사각형의 변이나 꼭짓점(경계) 위에 정확히 놓인 지뢰는 그 직사각형의 내부에 있는 것으로 세지 않는다.
밭의 경계 직사각형과 모든 지뢰의 위치가 주어질 때, 가장 안전한 구역의 두 변의 길이를 구하라.
입력
입력은 여러 개의 지뢰밭으로 이루어진다.
각 지뢰밭은 다음과 같이 주어진다. 첫 줄에는 네 정수 , , , 가 주어지며, 은 밭의 왼쪽 아래 꼭짓점, 는 오른쪽 위 꼭짓점이다 (, ). 다음 줄에는 지뢰의 개수 ()이 주어진다. 이어지는 개의 줄에는 각각 지뢰의 위치를 나타내는 두 정수 , 가 주어진다(, ). 같은 위치에 두 개의 지뢰가 놓이는 경우는 없다.
입력의 끝은 인 줄로 표시되며, 이 줄은 처리하지 않는다.
출력
각 지뢰밭에 대해, 가장 안전한 구역의 두 변의 길이를 나타내는 두 정수 , ()를 한 줄에 출력한다.