๋ฌธ์
๋ฐฑ์ค ์จ๋ผ์ธ ์ ์ง - 1654๋ฒ
ํ์ด ๊ณผ์
๋์ ๋ค์ ์ผ์ ํ ํฌ๊ธฐ๋ก ์๋์ ๋ ์ํ๋ ๊ฐ์๋ฅผ ๋ง์กฑํ๋ ์ต๋ ๊ธธ์ด๋ฅผ ์ฐพ๋ ๋ฌธ์ ์
๋๋ค.
๋์ ๊ธธ์ด์ ์ํ๊ณผ ํํ์ ๊ฒฐ์ ํ ๋ค ์ด๋ถ ํ์
์ ํตํด ์๋ง์ ๊ธธ์ด๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
๋์ ๊ธธ์ด์ ์ํ์ ๊ฐ์ง๊ณ ์๋ ๋์ ์ค ๊ฐ์ฅ ๊ธด ๊ฐ์ด๊ณ ํํ์ 1๋ก ์ค์ ํด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์์ต๋๋ค.
์ฝ๋
import sys
K, N = list(map(int, sys.stdin.readline().split()))
lines = []
for _ in range(K):
lines.append(int(input()))
def enough(cut):
ret = 0
for line in lines:
ret += line // cut
return True if ret >= N else False
def solution():
lo = 1
hi = max(lines)
answer = 0
while lo <= hi:
mid = (lo + hi) // 2
if enough(mid):
answer = mid
lo = mid + 1
else:
hi = mid - 1
return answer
print(solution())
๋ฐ์ํ
'๐ algorithm > boj' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ 1449 - ์๋ฆฌ๊ณต ํญ์น (0) | 2021.03.18 |
---|---|
BOJ 2805 - ๋๋ฌด ์๋ฅด๊ธฐ (0) | 2021.03.18 |
BOJ 3184 - ์ (0) | 2021.03.18 |
BOJ 7562 - ๋์ดํธ์ ์ด๋ (0) | 2021.03.18 |
BOJ 18352 - ํน์ ๊ฑฐ๋ฆฌ์ ๋์ ์ฐพ๊ธฐ (0) | 2021.03.18 |
๐ฌ ๋๊ธ