[๋ฐฑ์ค€] 1173๋ฒˆ / ์šด๋™ / ํŒŒ์ด์ฌ / Python
Algorithm/Baekjoon

[๋ฐฑ์ค€] 1173๋ฒˆ / ์šด๋™ / ํŒŒ์ด์ฌ / Python

728x90
๋ฐ˜์‘ํ˜•

 

๐Ÿ‘จ‍๐Ÿ’ป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 )

 

1173๋ฒˆ: ์šด๋™

์ฒซ์งธ ์ค„์— ๋‹ค์„ฏ ์ •์ˆ˜ N, m, M, T, R์ด ์ฃผ์–ด์ง„๋‹ค.

www.acmicpc.net


๋ฌธ์ œ

์˜์‹์ด๊ฐ€ ์šด๋™์„ ํ•˜๋Š” ๊ณผ์ •์€ 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

๋ฐ˜์‘ํ˜•