본문 바로가기

PS

[ 백준 / C++ ] 2965 : 캥거루 세마리

[ 문제 ]

 

2965번: 캥거루 세마리

 

[ 접근방법 ]

 

예제 2의 경우를 생각해 보자.

 

3이 5 ~ 9 사이로 뛰거나, 9가 3 ~ 5 사이로 뛰는 두 가지 경우가 존재한다.

 

두 캥거루 사이의 거리가 더 긴 전자를 선택한 후
5 6 9 → 6 7 9 → 7 8 9

이렇게 한칸씩 거리를 줄여나가는 것이 최대로 움직일 수 있다.

 

따라서 처음에 캥거루 사이의 거리를 비교하면 정답을 바로 구할 수 있다.

 

[ 소스코드 ]

 

#include <iostream>
#include <algorithm>

using namespace std;

int a, b, c;

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);

    cin >> a >> b >> c;

    cout << max(c - b, b - a) - 1;

    return 0;
}