난이도: 실버 예상...?
Atcoder 문제
Minimize Abs1
코드 알고리즘
제한 범위에 따라 x[i]값을 결정하는 것
a[i]<= L 일 경우
a[i]와 가장 가까운 l이 x[i]
x[i]= L
L<= a[i]<= L 일 경우
x[i]가 a[i]일 경우 차이가 0으로 최소이므로
x[i]= a[i]
R <=a[i] 일 경우
a[i]와 가장 가까운 R이 x[i]
x[i]= R
import sys
n, l, r = map(int, sys.stdin.readline().split())
a = list(map(int, sys.stdin.readline().split()))
result = []
for i in range(n):
if l <= a[i] <= r:
result.append(str(a[i]))
else:
result.append(str(l) if abs(a[i] - l) < abs(a[i] - r) else str(r))
print(" ".join(result))