반응형
[문제 출처]
https://www.acmicpc.net/problem/1173
1173번: 운동
첫째 줄에 다섯 정수 N, m, M, T, R이 주어진다.
www.acmicpc.net
[문제 풀이]
N분 동안 운동을 하려고 한다.
1분 운동을 하면 T만큼 심박수가 오르고, 1분 휴식을 취하면 R만큼 심박수가 떨어진다.
초기 심박수는 m이며 휴식을 취해 심박수가 m보다 작아지면 심박수는 m이 된다.
최대 심박수는 M이며, 절대로 심박수는 M을 넘어서는 안된다.
이러한 조건을 만족하여 N분의 운동을 하는데 필요한 시간을 구하는 문제이다.
초기 심박수에서 운동을 했을 때 최대 심박수를 넘는 경우는 운동을 할 수 없기에 -1을 출력해줘야 한다.
그 이외의 경우는 운동을 해도 최대 심박수를 넘지 않는다면 운동을 하고,
그렇지 않을 경우는 휴식을 취하도록 하여 전체 시간과 운동 시간을 체크한다.
#1173
N, m, M, T, R = map(int, input().split())
time = 0
now = m
if m + T > M :
print(-1)
else:
while True:
if N == 0:
break
if now + T <= M:
now += T
N -= 1
elif now - R < m:
now = m
elif now - R >= m:
now -= R
time += 1
print(time)
반응형
'알고리즘 > python' 카테고리의 다른 글
[python/파이썬] 프로그래머스 Lv.1 문자열 나누기 (0) | 2023.03.02 |
---|---|
[python/파이썬] 백준 1543 문서 검색 (0) | 2023.02.27 |
[python/파이썬] 백준 24266 24267 알고리즘 수업 - 알고리즘의 수행시간 (0) | 2023.02.23 |
[python/파이썬] 백준 24262 24263 24264 24265 알고리즘 수업 - 알고리즘의 수행 시간 (0) | 2023.02.22 |
[python/파이썬] 백준 1980 햄버거 사랑 (0) | 2023.02.21 |