에디터 커서 이동
면접 대비시간 제한2초메모리 제한512 MB
각 줄의 길이가 80 이하인 N개 줄에서 커서를 시작 위치에서 끝 위치로 옮기는 데 필요한 화살표 키 입력의 최솟값을 구한다. 세로 이동은 줄 끝으로 잘린다.
문제
텍스트 에디터에서 프로그램을 편집하고 있습니다. 커서를 한 위치에서 다른 위치로 옮기려고 하는데, 누르는 키의 횟수를 최소로 하고 싶습니다.
에디터는 다음과 같이 동작합니다.
- 커서는 네 개의 방향키로 움직입니다: 위(↑), 아래(↓), 왼쪽(←), 오른쪽(→).
- →를 누르면 커서가 한 글자 오른쪽으로 이동합니다. 커서가 어떤 줄의 가장 오른쪽 글자에 있으면 바로 아래 줄의 첫 번째 글자로 이동합니다. 이미 맨 아래 줄의 가장 오른쪽 위치에 있으면 움직이지 않습니다.
- ←를 누르면 커서가 한 글자 왼쪽으로 이동합니다. 커서가 어떤 줄의 가장 왼쪽 글자에 있으면 바로 위 줄의 마지막 글자로 이동합니다. 이미 맨 위 줄의 가장 왼쪽 위치에 있으면 움직이지 않습니다.
- ↑를 누르면 커서가 바로 위에 있는 글자로 이동합니다. 바로 위에 글자가 없으면(위 줄이 더 짧으면) 위 줄의 마지막 글자로 이동합니다. 이미 첫 번째 줄에 있으면 움직이지 않습니다.
- ↓를 누르면 커서가 바로 아래에 있는 글자로 이동합니다. 바로 아래에 글자가 없으면(아래 줄이 더 짧으면) 아래 줄의 마지막 글자로 이동합니다. 이미 마지막 줄에 있으면 움직이지 않습니다.
각 줄의 글자 수와 커서의 시작 위치, 도착 위치가 주어질 때, 커서를 시작 위치에서 도착 위치로 옮기는 데 필요한 최소 키 입력 횟수를 구하세요.
입력
첫째 줄에 프로그램의 줄 수 이 주어집니다 ().
다음 개의 줄에는 각 줄의 글자 수가 한 개씩 주어집니다. 모든 줄은 글자가 최소 개, 최대 개 있습니다.
그다음 줄에는 커서의 시작 행과 열을 나타내는 두 정수 가 주어집니다. 여기서 이고, 는 이상이며 번째 줄의 글자 수를 넘지 않습니다.
마지막 줄에는 커서의 도착 행과 열을 나타내는 두 정수 가 주어집니다. 여기서 이고, 는 이상이며 번째 줄의 글자 수를 넘지 않습니다.
출력
커서를 행 열에서 행 열로 옮기는 데 필요한 최소 키 입력 횟수를 한 줄에 출력하세요.