잠든 소 몰기 (브론즈)

면접 대비

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

요약
수직선 위 세 소의 위치가 주어질 때, 양 끝 소만 움직일 수 있다는 규칙 아래 세 소를 연속한 위치로 모으는 최소 이동 횟수와 최대 이동 횟수를 구한다.
난이도

쉬움10점 중 3점

유형
그리디, 수학, 구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

농부 존의 자랑스러운 소 세 마리, 베시, 엘시, 밀드레드가 늘 농장 구석구석으로 멀리 떠돌아다닌다! 존은 이들을 다시 한데 모으기 위해 당신의 도움이 필요하다.

농장의 주 목초지는 길고 좁으며, 소가 정수 위치를 차지할 수 있는 수직선으로 생각할 수 있다. 세 마리 소는 현재 서로 다른 정수 위치에 있고, 농부 존은 이들이 세 개의 연속된 위치(예: 6, 7, 8)를 차지하도록 옮기려 한다.

불행히도 소들은 꽤 졸려서, 농부 존은 이들의 주의를 끌어 움직이게 하는 데 어려움을 겪는다. 어느 시점에서든 그는 소가 "끝점"(모든 소 중 최솟값 또는 최댓값 위치)일 때만 움직일 수 있다. 소를 움직일 때, 그는 그 소에게 비어 있는 임의의 정수 위치로 이동하라고 지시할 수 있으며, 단 이 새 위치에서 그 소가 더 이상 끝점이 아니어야 한다. 시간이 지나면서 이런 이동은 소들을 점점 더 가까이 모으는 경향이 있다.

소들이 세 개의 연속된 위치에 모이기 전까지 가능한 최소 이동 횟수와 최대 이동 횟수를 구하라.

입력

입력 파일은 베시, 엘시, 밀드레드의 위치를 나타내는 세 개의 정수가 공백으로 구분된 한 줄을 포함한다. 각 위치는 1…1091 \ldots 10^9 범위의 정수이다.

출력

출력의 첫째 줄에는 농부 존이 소들을 한데 모으기 위해 해야 하는 최소 이동 횟수를 출력한다. 둘째 줄에는 소들이 한데 모이기 전에 그가 할 수 있는 최대 이동 횟수를 출력한다.

힌트

최소 이동 횟수는 1이다. 농부 존이 위치 4의 소를 위치 8로 옮기면 소들은 연속된 위치 7, 8, 9에 있게 된다. 최대 이동 횟수는 2이다. 예를 들어 위치 9의 소를 위치 6으로 옮기고, 그다음 위치 7의 소를 위치 5로 옮길 수 있다.

예제1

  1. 예제 1

    입력
    4 7 9
    
    예상 출력
    1
    2