๐จ๐ปcode )
import sys
input = sys.stdin.readline
N, m, M, T, R = map(int, input().split())
pulse = m
time = 0
exercise = 0
while exercise < N:
if m + T > M:
time = -1
break
time += 1
if pulse + T <= M:
pulse += T
exercise += 1
else:
if pulse - R < m:
pulse = m
else:
pulse -= R
print(time)
๐description )
๋ฌธ์
์์์ด๊ฐ ์ด๋์ ํ๋ ๊ณผ์ ์ 1๋ถ ๋จ์๋ก ๋๋์ด์ ธ ์๋ค. ๋งค ๋ถ๋ง๋ค ์์์ด๋ ์ด๋๊ณผ ํด์ ์ค ํ๋๋ฅผ ์ ํํด์ผ ํ๋ค.
์ด๋์ ์ ํํ ๊ฒฝ์ฐ, ์์์ด์ ๋งฅ๋ฐ์ด T๋งํผ ์ฆ๊ฐํ๋ค. ์ฆ, ์์์ด์ ๋งฅ๋ฐ์ด X์๋ค๋ฉด, 1๋ถ ๋์ ์ด๋์ ํ ํ ๋งฅ๋ฐ์ด X+T๊ฐ ๋๋ ๊ฒ์ด๋ค. ์์์ด๋ ๋งฅ๋ฐ์ด M์ ๋๋ ๊ฒ์ ์ํ์ง ์๊ธฐ ๋๋ฌธ์, X+T๊ฐ M๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ๋๋ง ์ด๋์ ํ ์ ์๋ค. ํด์์ ์ ํํ๋ ๊ฒฝ์ฐ ๋งฅ๋ฐ์ด R๋งํผ ๊ฐ์ํ๋ค. ์ฆ, ์์์ด์ ๋งฅ๋ฐ์ด X์๋ค๋ฉด, 1๋ถ ๋์ ํด์์ ํ ํ ๋งฅ๋ฐ์ X-R์ด ๋๋ค. ๋งฅ๋ฐ์ ์ ๋๋ก m๋ณด๋ค ๋ฎ์์ง๋ฉด ์๋๋ค. ๋ฐ๋ผ์, X-R์ด m๋ณด๋ค ์์ผ๋ฉด ๋งฅ๋ฐ์ m์ด ๋๋ค.
์์์ด์ ์ด๊ธฐ ๋งฅ๋ฐ์ m์ด๋ค. ์ด๋์ N๋ถ ํ๋ ค๊ณ ํ๋ค. ์ด๋ ์ด๋์ N๋ถํ๋๋ฐ ํ์ํ ์๊ฐ์ ์ต์๊ฐ์ ๊ตฌํด๋ณด์. ์ด๋ํ๋ ์๊ฐ์ ์ฐ์๋์ง ์์๋ ๋๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋ค์ฏ ์ ์ N, m, M, T, R์ด ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์ด๋์ N๋ถํ๋๋ฐ ํ์ํ ์๊ฐ์ ์ต์๊ฐ์ ์ถ๋ ฅํ๋ค.. ๋ง์ฝ ์ด๋์ N๋ถ ํ ์ ์๋ค๋ฉด -1์ ์ถ๋ ฅํ๋ค.
์ ํ
- 1 ≤ N, T, R ≤ 200
- 50 ≤ m ≤ M ≤ 200
'Algorithm > Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 10815๋ฒ / ์ซ์ ์นด๋ / ํ์ด์ฌ / python (0) | 2021.10.13 |
---|---|
[๋ฐฑ์ค] 2979๋ฒ / ํธ๋ญ ์ฃผ์ฐจ / ํ์ด์ฌ / Python (0) | 2021.10.07 |
[๋ฐฑ์ค] ์๊ณ ์คํ / 1261๋ฒ / ํ์ด์ฌ / Python / Dijkstra ์๊ณ ๋ฆฌ์ฆ (0) | 2020.12.06 |
[๋ฐฑ์ค] ์ต์๋น์ฉ ๊ตฌํ๊ธฐ / 1916๋ฒ / ํ์ด์ฌ / python (0) | 2020.12.05 |
[๋ฐฑ์ค] ์จ๋ฐ๊ผญ์ง / 1697๋ฒ / ํ์ด์ฌ / python (0) | 2020.12.04 |