백준 문제 링크
운동
- 초기값 time(구하고자 하는 값) = 0, workout(운동 시간) = 0, pulse(맥박) = m 설정
- 조건은 다음과 같다.
- m <= pulse <= M 일 때
- pulse + T <= M일 때 pulse += T, time += 1, workout += 1
- pulse + T > M일 때
- pulse - R < m일 때 pulse = m, time += 1
- pulse - R >= m일 때 pulse -= R, time += 1
- workout이 0이라면 (운동을 못한다면)
time = -1로 만들고 반복문 탈출- workout이 0이 아니라면 반복문 탈출
- time을 출력하면 끝!
N, m, M, T, R = map(int, input().split())
# 운동 N분, 초기 맥박, 넘으면 안되는 맥박, 운동하면 증가, 휴식하면 감소
time = 0 # 구하고자 하는 값
workout = 0
pulse = m # 초기값
while True:
if pulse >= m and pulse <= M:
if pulse + T <= M:
pulse += T
time += 1
workout += 1
else:
if pulse - R < m:
pulse = m
time += 1
else:
pulse -= R
time += 1
if workout == 0:
time = -1
break
elif workout == N:
break
print(time)