Computer Science/Algorithm Problem

백준] 3135 - 라디오

TwinParadox 2017. 12. 28. 20:19
728x90

시간 제한 : 1초

메모리 제한 : 128MB




입력

첫 줄엔 정수 A와 B가 주어진다 (1 ≤ A, B < 1000, A ≠ B).

다음 줄엔 정수 N이 주어진다 (1 ≤ N ≤ 5).

다음 N개의 줄엔 미리 지정되어 있는 주파수가 주어진다 (주파수는 1000 보다 작다).




출력

주파수 A에서 B로 갈 때 눌러야 하는 버튼수의 최솟값을 출력한다.




소스코드

#include <iostream>
#include <math.h>
using namespace std;
int main(void)
{
	int min = 1000, tmp, a, b, n;
	cin >> a >> b >> n;
	for (int i = 0; i < n; i++)
	{
		cin >> tmp;
		if (abs(b - tmp) < min)
			min = abs(b - tmp);
	}
	tmp = min;
	min = (tmp + 1) < abs(b - a) ? (tmp + 1) : abs(b - a);
	cout << min;
}




Tip

수학적으로 계산만 해주면 된다. 단순 크기 비교만 잘 해주면 되는 부분.


728x90