사무실 건물
면접 대비시간 제한1초메모리 제한2048 MB
나무 나이가 적힌 격자와 회전만 허용되는 건물 모양이 주어질 때, 건물이 차지하는 칸의 나이 합이 가장 작아지는 위치를 구합니다.
문제
회사 Z는 새 사무실 건물을 짓기 위해 토지를 구입했다. 토지는 개의 행과 개의 열로 이루어진 직사각형 격자이며, 각 칸에는 나무가 한 그루씩 있다. 각 나무의 나이는 알려져 있다.
회사 Z는 특이한 건물을 원하므로 건물은 직사각형이 아니다. 건물은 연결된 격자 칸들로 이루어진 모양이다. 평면도는 90도 단위로 몇 번이고 회전시킬 수 있지만, 상하나 좌우로 뒤집을 수는 없다.
회사 Z는 토지 안에서 건물을 세울 위치를 고른다. 건물이 차지하는 칸에 있는 나무는 모두 베어야 한다. 회사는 남는 나무 나이의 합이 최대가 되도록 하려고 한다. 가장 좋은 위치를 찾아라.
입력
첫 줄에 토지의 크기를 나타내는 두 정수 , ()가 주어진다.
다음 개 줄에는 각각 개의 정수가 주어진다. 1 이상 100 이하인 나무의 나이다.
다음 줄에는 평면도의 크기를 나타내는 두 정수 , (, )가 주어진다.
다음 개 줄에는 각각 개의 문자로 평면도가 주어진다. #은 건물이 차지하는 칸, .은 차지하지 않는 칸이다. #은 적어도 하나 있으며, #인 칸들은 서로 변을 공유하는 방식으로 이어져 하나의 덩어리를 이룬다. 평면도에는 완전히 빈 행이나 열이 없다.
출력
남길 수 있는 나무 나이 합의 최댓값을 정수 하나로 출력한다.