해결한 사람
0
명
정답률
0.00
%
시간 제한
1000
ms
메모리 제한
245
MB
Luba는 인터넷을 이용하고 있다. 현재 브라우저에는 n개의 탭이 열려 있으며, 왼쪽부터 오른쪽까지 1에서 n까지의 번호가 붙어 있다. 마우스 커서는 현재 pos-th 탭에 있다. Luba는 공부를 위해 인덱스가 l부터 r까지인 탭들을 사용해야 하며(양 끝 포함), 이 구간에 속하지 않는 모든 탭을 가능한 한 빨리 닫고 싶다.
매초 Luba는 커서를 왼쪽이나 오른쪽으로 옮기려고 시도하거나(현재 커서가 탭 i에 있다면 탭 max(i - 1, a) 또는 탭 min(i + 1, b)로 옮길 수 있다), 커서의 왼쪽이나 오른쪽에 있는 모든 탭을 닫으려고 시도할 수 있다(현재 커서가 탭 i에 있다면 구간 또는 구간 에 속하는 모든 탭을 닫을 수 있다). 앞서 언급한 식에서 a와 b는 각각 닫히지 않은 탭의 최소 인덱스와 최대 인덱스를 나타낸다. 예를 들어 처음에 탭이 7개 있었고 탭 1, 2, 7이 닫혔다면 a = 3, b = 6이다.
초기 인덱스가 l부터 r까지인 탭들만 열린 상태로 남기기 위해 Luba가 써야 하는 최소 시간은 몇 초인가?
입력의 유일한 줄에 정수 네 개 n, pos, l, r가 (1 ≤ n ≤ 100, 1 ≤ pos ≤ n, 1 ≤ l ≤ r ≤ n) 주어진다. 이는 각각 탭의 개수, 커서의 위치, Luba가 열린 상태로 남겨야 하는 구간을 나타낸다.
구간 [l, r] 밖의 모든 탭을 닫는 데 필요한 최소 시간(초)과 같은 하나의 정수를 출력한다.
5 2 1 5
0
6 3 1 3
1
6 3 2 4
5
첫 번째 테스트에서 Luba는 다음 연산을 수행할 수 있다. 마우스 커서를 탭 2로 옮기고, 그 왼쪽의 모든 탭을 닫은 다음, 마우스 커서를 탭 3으로 옮기고 이어서 탭 4로 옮긴 뒤, 그 오른쪽의 모든 탭을 닫는다.
두 번째 테스트에서는 현재 커서 위치의 오른쪽에 있는 모든 탭을 닫기만 하면 된다.
세 번째 테스트에서는 Luba가 아무것도 할 필요가 없다.