로봇이 한 번에 부품 하나를 옮길 때, 모든 부품을 가장 적은 이동 횟수로 재활용할 수 있도록 격자 한 칸에 재활용 공장을 정한다.
어려움8수학누적 합그리디구현아직 제출이 없습니다시간 제한2초메모리 제한512 MB1885년에서 시간 기차를 타고 돌아온 도크는 다른 이동 수단도 타임머신으로 만들어 보고 싶어졌다. 그래서 시간 비행기를 만들었다. 그런데 첫 시험 비행에서 엔진이 멈췄고 비행기는 추락했다. 도크는 조종석에서 탈출해 낙하산으로 무사히 착륙했지만, 비행기는 넓은 벌판에 떨어져 작은 부품으로 흩어졌다.
이제 흩어진 부품을 모두 회수해서 재활용해야 한다. 마티가 그린 벌판의 지도는 n개의 행과 m개의 열로 이루어진 직사각형이다. 각 칸에는 비행기 부품이 0개 이상 놓여 있다. 마티는 벌판의 한 칸에 재활용 공장을 세우고 모든 부품을 그 칸으로 옮기기로 했다. 부품을 옮기는 일은 도크가 만든 로봇이 맡는다. 로봇은 다음 세 가지 행동을 할 수 있다.
로봇은 재활용 공장이 있는 칸에서 출발한다.
모든 부품을 재활용할 때까지 로봇이 하는 행동의 횟수가 가장 적어지도록 재활용 공장을 세울 칸을 정하자.
첫째 줄에 벌판의 크기를 나타내는 두 정수 n과 m이 주어진다 (1≤n⋅m≤106).
다음 n개의 줄 중 i번째 줄에는 i번째 행의 칸에 놓인 비행기 부품의 개수를 나타내는 m개의 정수 ai,j가 주어진다 (0≤ai,j≤106).
재활용 공장을 세울 칸의 행 번호 r, 열 번호 c, 그리고 모든 부품을 재활용할 때까지 로봇이 하는 행동의 최소 횟수 x를 공백으로 구분해 한 줄에 출력한다 (1≤r≤n, 1≤c≤m).
최소 횟수를 만드는 칸이 여러 개이면 그중 사전순으로 가장 앞서는 (r,c)를 출력한다. 즉 r이 가장 작은 칸을 고르고, 그런 칸이 여러 개이면 그중 c가 가장 작은 칸을 고른다.