커피 전문점
시간 제한5초메모리 제한128 MB
각 질의 반경 m에 대해 맨해튼 거리 m 이내에 가장 많은 커피숍이 있는 격자 교차점을 찾고, 동점이면 y가 가장 작은 곳, 그다음 x가 가장 작은 곳을 출력한다.
문제
어떤 동네에 커피 전문점이 여러 곳 있다. 이 동네는 정사각형 격자 모양이고, 모든 길은 남북 방향 또는 동서 방향으로 나 있어 교차로들이 격자점을 이룬다.
두 교차로 와 사이의 거리는 맨해튼 거리 이며, 이는 한 교차로에서 다른 교차로로 오갈 때 지나야 하는 블록의 수와 같다.
모든 커피 전문점의 위치가 주어지고 걸어서 갈 수 있는 블록 수의 상한 이 정해질 때, 어떤 교차로로부터 블록 이내에 있는 커피 전문점의 개수가 가장 많아지는 교차로를 찾는 프로그램을 작성하시오. 후보가 되는 교차로는 도시 안의 격자점, 즉 이고 인 이다.
입력
입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 하나의 도시를 나타낸다.
각 테스트 케이스의 첫째 줄에는 네 정수 , , , 가 주어진다. 도시의 크기는 ()이고, 도시에 있는 커피 전문점의 수는 (), 질의의 수는 ()이다.
이어지는 개의 줄에는 두 정수 와 (, )가 주어지며, 이는 번째 커피 전문점의 위치를 나타낸다. 한 교차로에 있는 커피 전문점은 최대 한 개이다.
그 다음 개의 줄에는 정수 이 한 줄에 하나씩 주어진다. ()은 걸어서 갈 수 있는 블록 수의 최대값이다.
입력의 마지막 줄에는 정수 이 네 개 주어지며, 이는 입력의 끝을 의미한다.
출력
각 테스트 케이스마다 먼저 Case k: 형식으로 테스트 케이스 번호 를 출력한다(는 부터 시작한다). 그 다음 각 질의마다 한 줄씩 출력하는데, 그 질의의 에 대해 어떤 교차로로부터 블록 이내에 있는 커피 전문점의 최대 개수와 그 개수를 달성하는 교차로의 위치를 개수 (x,y) 형식으로 출력한다.
최대 개수를 달성하는 교차로가 여러 개라면 가장 남쪽에 있는 것(즉 좌표가 가장 작은 것)을 출력하고, 그래도 여러 개라면 가장 서쪽에 있는 것(즉 좌표가 가장 작은 것)을 출력한다.