프로그래밍 언어/파이썬

백준 > 29736 브실이와 친구가 되고 싶어 🤸‍♀️

B612 2024. 2. 9. 18:12
a, b = map(int, input().split())
k, x = map(int, input().split())

min = k - x
max = k + x

if max < a:
    print('IMPOSSIBLE')
elif max >= b and a <= min:
    print(b - min + 1)
elif min <= a and max <= b:
    print(max - a + 1)
elif min <= a and max >= b:
    print(b - a + 1)
else: #a, b 범위 내의 수
    print(max - min + 1)

 

나는 경우의 수를 하나씩 계산했지만, 더 효율적인 풀이가 있을 것이라 생각했고 역시 더 좋은 풀이가 있는 것 같다.

'프로그래밍 언어 > 파이썬' 카테고리의 다른 글

백준 > 27294 몇개고?  (0) 2024.02.11
백준 > 1712 손익분기점  (0) 2024.02.10
백준 > 2480 주사위 세개  (1) 2023.12.08
파이썬의 다양한 입력  (0) 2021.12.31
백준 > 11651 좌표 정렬하기 2  (0) 2021.12.31