정원
시간 제한1초메모리 제한128 MB
장미 n송이가 있는 l×w 격자에서 각각 장미 k송이를 포함하는 겹치지 않는 두 직사각형을 놓아 두 둘레의 합을 최소로 구한다.
문제
재현이는 가장 아름다운 정원을 가진 사람으로, 정원에 송이의 장미를 심어 두었다. 모든 꽃이 활짝 핀 어느 여름날, 재현이는 아름다운 장미를 바라보다가 문득 나라 경제가 걱정되어, 두 정원사 박승원과 신승원을 고용해 실업률을 낮추고 경제를 살리기로 했다.
정원은 가로 미터, 세로 미터인 직사각형이며, 한 변이 미터인 개의 정사각형 칸으로 나뉜다. 정원의 변은 축, 축과 평행하고, 정원 안의 모든 칸은 , 를 만족하는 정수 좌표 로 나타낼 수 있다.
, , , 를 네 꼭짓점으로 하는 직사각형 영역은 , 를 만족하는 모든 칸 (즉 , )를 포함하며, 이 영역의 둘레는 이다.
재현이는 정원에 서로 겹치지 않는 두 개의 직사각형 울타리를 세우고, 각 울타리 안에 들어가는 장미의 수를 똑같이 송이로 맞추려 한다. 이렇게 만든 두 구역을 각각 박승원과 신승원에게 맡길 계획이다.
그런데 울타리는 수입품이라 경제를 살리는 데 도움이 되지 않는다. 그래서 재현이는 울타리의 총 길이(두 둘레의 합)를 최소로 만들어 내수를 살리려 한다.
두 구역은 칸을 공유하지 않아야 하고, 각 구역 안에는 정확히 송이의 장미가 있어야 한다. 두 울타리가 맞닿는 부분에는 울타리를 두 번 세우므로, 그 길이도 둘레의 합에 두 번 반영된다.
정원의 크기, 장미들의 위치, 각 구역에 넣을 장미 수를 입력받아, 조건을 만족하면서 울타리의 총 길이가 최소가 되는 두 구역을 찾는 프로그램을 작성하시오. 한 칸에 여러 송이의 장미가 있을 수도 있다.
입력
첫째 줄에 정원의 가로와 세로 길이 , 가 주어진다. ()
둘째 줄에 전체 장미의 수 과 각 구역에 넣을 장미의 수 가 주어진다. (, )
이어지는 개의 줄에 번째 장미가 있는 칸을 나타내는 두 정수 , 가 주어진다. (, ) 한 칸에 여러 송이의 장미가 있을 수 있다.
출력
둘레의 합이 최소가 되는 두 구역을 찾아, 그 두 둘레의 합을 한 줄에 출력한다. 조건을 만족하는 두 구역을 만들 수 없으면 NO를 출력한다.
힌트
