๋ฌธ์
๋ฐฑ์ค ์จ๋ผ์ธ ์ ์ง - 2869๋ฒ
ํ์ด ๊ณผ์
์ฒ์์๋ ํด๋น ๋ฌธ์ ๊ฐ ์ ์ด๋ถ ํ์
๋ฌธ์ ์ง์ ํฌํจ๋์ด ์๋์ง ์๋ฌธ์ด์์ต๋๋ค.
์ํ์ ์ผ๋ก ํด๊ฒฐํ ์๋ ์์ ๊ฒ ๊ฐ์ง๋ง ์ด๋ถ ํ์
์ผ๋ก ํด๊ฒฐํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ฐพ๊ณ ์ถ์ด์ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์ ๊ทผํ์ต๋๋ค.
๋ฌํฝ์ด๋ ๋งค์ผ A
๋งํผ ์ฌ๋ผ๊ฐ๋๋ค.
๋ฌํฝ์ด๊ฐ ๋์ ๋๋ฌํ๊ธฐ ์ํด์๋ ๋ง์ง๋ง ์ด๋ ์ ์์น๊ฐ V - A
๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ผ๋ฉด ๋ฉ๋๋ค.
๋ฐ๋ผ์ ๋ ์ง * (A - B) >= V - A
๊ฐ ๋๋ ์ต์ ๋ ์ง๋ฅผ ์ด๋ถ ํ์
์ผ๋ก ์ฐพ์ผ๋ฉด ๋ฉ๋๋ค.
์ฝ๋
import sys
def solution():
move_offset = A - B
lo, hi = 0, 1000000000
day = 2e9
while lo <= hi:
mid = (lo + hi) // 2
if mid * move_offset >= V - A:
day = min(day, mid)
hi = mid - 1
else:
lo = mid + 1
return day + 1
if __name__ == '__main__':
A, B, V = list(map(int, sys.stdin.readline().split()))
answer = solution()
print(answer)
๋ฐ์ํ
'๐ algorithm > boj' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ 1922 - ๋คํธ์ํฌ ์ฐ๊ฒฐ (0) | 2021.04.13 |
---|---|
BOJ 20006 - ๋ญํน์ ๋๊ธฐ์ด (0) | 2021.04.13 |
BOJ 16926 - ๋ฐฐ์ด ๋๋ฆฌ๊ธฐ 1 (0) | 2021.04.13 |
BOJ 15732 - ๋ํ ๋ฆฌ ์จ๊ธฐ๊ธฐ (0) | 2021.03.18 |
BOJ 2178 - ๋ฏธ๋ก ํ์ (0) | 2021.03.18 |
๐ฌ ๋๊ธ