광물 채굴
시간 제한3초메모리 제한512 MB
격자에서 각 로봇을 기지에서 m번 이내의 인접 칸에 배치하고 한 칸에 q대를 넘지 않게 할 때, 받을 수 있는 앞쪽 묶음 수 k와 다음 묶음에서 받을 수 있는 로봇 수 z를 구합니다.
문제
이웃 항성계에 있는 행성을 개발하는 프로젝트가 진행 중이다. 광물을 캐기 위해 로봇 여러 묶음을 이 행성으로 보낼 계획이다.
광물을 캘 지역은 가로 , 세로 크기의 격자 사각형이다. 칸의 좌표는 부터 까지이다. 일부 칸에는 전문가 기지가 있고, 로봇 묶음은 이 기지로 보내진다. 기지는 모두 개이며, 번째 기지는 칸에 있다.
번째 묶음은 기지 로 보내지며, 로봇 대로 이루어져 있다. 묶음의 각 로봇은 이동 능력 를 가진다. 묶음이 기지에 도착하면 각 로봇은 기지에서 출발해 행성 표면의 어떤 칸까지 이동한다. 이동 능력이 인 로봇은 인접한 여덟 칸 중 하나로 최대 번 이동할 수 있다(그림 1 참고).

모든 묶음의 로봇을 배치하면 로봇을 활성화하고, 로봇은 광물 채굴을 시작한다. 이동 중에는 한 칸에 로봇이 여러 대 있어도 된다. 그러나 활성화된 뒤에는 어떤 칸에도 로봇이 대를 넘으면 안 된다.
입력
관리팀은 순서대로 보낼 수 있는 개의 로봇 묶음 정보를 받았다. 모든 묶음을 보낸 뒤에는 이동 능력에 제한이 있어서, 어느 칸에도 대를 넘지 않게 로봇을 배치하지 못할 수도 있다. 그래서 관리팀은 처음 개 묶음()을 골라 해당 기지로 전부 보낸다. 이면 그다음 묶음, 즉 번째 묶음의 로봇 대 중 대를 추가로 받는다().
관리팀은 를 최대화하고, 그다음 를 최대화한다.
출력
첫 줄에 , , , 가 주어진다. , , 이다. 이어지는 개 줄에는 기지의 좌표 , 가 주어진다(, ). 다음 줄에는 묶음 수 가 주어진다(). 이어지는 개 줄에는 , , 가 주어진다(, , ).
힌트
예제에서는 첫 번째 묶음 전체를 받고, 두 번째 묶음에서 로봇 7대를 추가로 받는다. 그림 2는 이 로봇들을 칸마다 한 대 이하가 되도록 배치한 모습이다. 기지는 원으로 표시했다. 기지 1에서 온 로봇이 있는 칸은 세로 빗금, 기지 2에서 온 로봇이 있는 칸은 회색으로 표시했다.
