본문 바로가기

백준/실버

[백준 3135번] 라디오 (C++)

문제링크 : https://www.acmicpc.net/problem/3135

#include <bits/stdc++.h> 
using namespace std;
#define fastio ios_base::sync_with_stdio(0); cin.tie(0);
int A, B, N, teleport, result;

int main()
{
	fastio;
	cin >> A >> B;
	cin >> N;
	result = abs(A-B);  //증가, 감소로만 이동
	while (N--)
	{
		cin >> teleport;		
	    result = min(result, abs(B - teleport) + 1);  //즐겨찾기로 이동한 값과, 증가 및 감소로만 이동한 값중 작은 값 선택
	}
	cout << result;
}

이동의 경우의 수는 증가 및 감소로만 이동하는 경우,

즐겨찾기로 이동하고 나서 증가 및 감소로 이동하는 경우로 총 2가지이다.