본문 바로가기
Algorithm/baekjoon

baekjoon 1654: 랜선 자르기

by 갈잃자 2022. 7. 15.

https://www.acmicpc.net/problem/1654

 

1654번: 랜선 자르기

첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그

www.acmicpc.net


이진탐색문제.

 

반례라 함은..

mid값이 0이 되는 경우가 있어서, st를 1로 잡고 들어가야 한다. (0으로 잡으면 런타임에러가 나옴)

k,n = list(map(int,input().split()))
arr = []
for _ in range(k):
    arr.append(int(input()))

st = 1
ed = max(arr)

while st <= ed:
    mid = (st+ed)//2
    cnt = 0
    for i in range(k):
        lan = arr[i]
        cnt+=lan //mid
        
    if cnt >= n:
        st = mid +1
    else:
        ed = mid-1

print(ed)

 

'Algorithm > baekjoon' 카테고리의 다른 글

baekjoon 2839: 설탕 배달  (0) 2022.08.11
baekjoon 2110: 공유기 설치  (0) 2022.07.19
baekjoon 6236: 용돈 관리  (0) 2022.07.14
baekjoon 2343: 기타 레슨  (0) 2022.07.13
baekjoon 2512: 예산  (0) 2022.07.12

댓글