Programming/백준

[브론즈 4] 백준 14470 - 전자레인지 (파이썬)

pental 2025. 5. 2. 19:10

https://www.acmicpc.net/problem/14470

풀이

  • 음식의 초기 온도 A에서 목표 온도 B까지 가열해야 한다.
  • 조건에 따라 걸리는 시간이 다르다.
    • 냉동 상태(0°C 미만)은 1도 올리는 데 C초 걸림.
    • 0°C에서 해동하는 데 D초 소모.
    • 해동된 후(0도 이상) 1도 올리는 데 E초 걸림.
if A < 0 and B < 0:
    print((B - A) * C)

초기 상태가 냉동 상태이고, 목표도 냉동 상태인 경우에는 단순히 A부터 B까지 C초로만 가열한다.

elif A < 0 and B > 0:
    print(-A * C + D + B * E)

A를 0까지 올리는데 -A * C초가 필요로 한다.

그 다음, 0도에서 해동하는데 D초가 걸리고, 해동 후 B도 까지 올리는데 B * E초가 걸린다.

총시간을 수식으로 나타내면 -A * C + D + B * E 초가 소요된다.

else:
    print((B - A) * E)

초기 상태가 해동 상태인 경우에는 이미 0도 이상이니까, A에서 B까지 E초로 올리기만 하면 된다.

코드

# 백준 14470 - 전자레인지
# 분류 : 구현

A = int(input())
B = int(input())
C = int(input())
D = int(input())
E = int(input())

if A < 0 and B < 0 :
    print((B - A) * C)
elif A < 0 and B > 0 :
    print(-A * C + D + B * E)
else :
    print((B - A) * E)