만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

동굴

면접 대비

시간 제한2초메모리 제한1024 MB

요약
벽이 있는 격자에서 시작 칸으로부터 BFS 거리가 L 이내인 칸의 루피를 모두 모으고, L에 C를 곱한 비용을 뺀 최대 이익을 구합니다.
난이도

보통10점 중 4점

유형
BFS, 누적 합
정답자
아직 제출이 없습니다

문제

젤다는 처음으로 모험을 떠나 하이랄 왕국을 구하려고 동분서주하고 있다. 그러나 현실은 녹록지 않다. 모험 자금을 마련하려고 루피(화폐 단위)를 모으는 데 열중할 수밖에 없었다.

어느 날 젤다는 어두운 동굴을 발견했다. 동굴 안에는 루피가 흩어져 있지만 너무 어두워서, 램프로 빛을 밝혀 루피를 모으고 싶다. 동굴은 N×MN \times M 크기의 격자이며, 위에서 rr번째, 왼쪽에서 cc번째 칸을 (r,c)(r,c)로 나타낸다. 일부 칸은 벽으로 막혀 있어 젤다가 지나갈 수 없고 램프 빛도 통과하지 못한다.

램프는 동굴 입구 (Sr,Sc)(S_r, S_c)에 고정되어 있고, 젤다는 램프를 들고 이동할 수 없다. 다만 램프 빛의 세기를 음이 아닌 정수 LL로 자유롭게 설정할 수 있다. 세기가 LL이면 램프가 놓인 위치에서 최단 거리가 LL 이하인 모든 칸을 밝힌다. 최단 거리는 출발 칸을 제외하고, 상하좌우로 인접한 칸을 지나 도착 칸까지 갈 때 지나야 하는 칸의 최소 개수이다. 젤다는 밝혀진 모든 칸의 루피를 얻을 수 있지만, 빛의 세기 1당 단위 비용 CC가 든다. 세기를 LL로 설정하면 비용은 L×CL \times C이다.

얻은 루피의 합을 TT라 하면 젤다의 이윤은 T−L×CT-L \times C이다. 젤다가 동굴에서 얻을 수 있는 최대 이윤을 구해 보자.

입력

첫 줄에 NN, MM, CC가 공백으로 구분되어 주어진다. (2≤N,M≤1000;1≤C≤100)(2 \le N,M \le 1000; 1 \le C \le 100)

둘째 줄에 램프가 고정된 시작 위치 SrS_r, ScS_c가 공백으로 구분되어 주어진다. (1≤Sr≤N;1≤Sc≤M)(1 \le S_r \le N; 1 \le S_c \le M)

셋째 줄부터 NN개의 줄에 걸쳐 동굴 정보가 한 줄에 MM개씩 공백으로 구분되어 주어진다. 각 값은 1000 이하의 음이 아닌 정수 또는 −1-1이다. −1-1은 통과할 수 없는 벽을 뜻하고, 나머지는 해당 칸에서 얻을 수 있는 루피의 양이다. 램프가 있는 시작 위치에는 벽이 없지만 루피는 있을 수 있다. 격자 밖은 모두 벽이어서 젤다와 램프 빛 모두 통과할 수 없다.

출력

램프 빛의 세기를 조절하여 젤다가 얻을 수 있는 최대 이윤을 출력한다. 얻을 수 있는 이윤이 없다면 00을 출력한다.

예제2

  1. 예제 1

    입력
    5 5 2
    3 3
    1 1 0 -1 10
    2 -1 5 -1 1
    13 -1 0 -1 1
    1 -1 -1 1 1
    1 1 1 1 1
    
    예상 출력
    10
    
  2. 예제 2

    입력
    2 2 2
    1 1
    0 1
    -1 2
    
    예상 출력
    0