Coding Test
[백준] 라디오
상상쓰
2021. 6. 28. 01:52
https://www.acmicpc.net/problem/3135
3135번: 라디오
첫 줄엔 정수 A와 B가 주어진다 (1 ≤ A, B < 1000, A ≠ B). 다음 줄엔 정수 N이 주어진다 (1 ≤ N ≤ 5). 다음 N개의 줄엔 미리 지정되어 있는 주파수가 주어진다 (주파수는 1000 보다 작다).
www.acmicpc.net
어렵지 않은 문제다. 정수 A 와 미리 지정돼있는 N 개의 주파수 중에서 B 와의 가장 작은 차이를 구하면 된다.
가장 작은 차이가 A 라면 answer 을 0 부터, N 개의 주파수 중 하나라면 answer 을 1 부터 시작하여 계산하여 가장 작은 차이(이제부터는 1 MHZ 씩 이동하는 경우밖에 없으므로) 를 더해주면 된다.
N 개의 주파수 중 B 와의 차이가 A 와 B 와의 차이랑 같은 것이 존재한다면 answer 을 0 부터 시작하는 A 에서 출발해야 하므로 부등호를 '<' 로 설정한다.
import sys
A, B = map(int, sys.stdin.readline().split())
N = int(sys.stdin.readline())
answer = 0
S = abs(B - A)
for i in range(N):
T = abs(B - int(sys.stdin.readline()))
if T < S:
answer = 1
S = T
answer += S
print(answer)