본문 바로가기

알고리즘/구현

파이썬 | 백준 | 1173 | 운동

 

solution

시키는 대로 하면 된다..

 

# 1173, 운동
import sys

N, m, M, T, R = map(int, sys.stdin.readline().split())
sec, sec_exercise = 0, 0  # 총 필요한 시간, 운동한 시간
now = m

if now > M or now + T > M:  # 운동을 할 수 없으면
    print(-1)
    sys.exit()

while sec_exercise < N:
    if now + T <= M:
        now += T
        sec += 1
        sec_exercise += 1
        continue
    else:
        while now + T > M:
            now -= R
            if now < m:     # X-R이 m보다 작으면 맥박은 m이다.
                now = m
            sec += 1
print(sec)

 

문제 출처 www.acmicpc.net/problem/1173

 

1173번: 운동

첫째 줄에 다섯 정수 N, m, M, T, R이 주어진다.

www.acmicpc.net