백준 1654번(Java)

박은지·2025년 2월 25일
0

백준

목록 보기
38/89
post-thumbnail

import java.io.*;
import java.util.*;

public class Main {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine()," ");
		
		int K = Integer.parseInt(st.nextToken());
		int N = Integer.parseInt(st.nextToken());
		
		int[] arr = new int[K];
		
		long max = 0; // 최대 길이
		
		// 배열 선언 및 할당과 동시에 최대 랜선 길이 확인
		for(int i=0; i<K; i++) {
			arr[i] = Integer.parseInt(br.readLine());
			if(max < arr[i]) {
				max = arr[i];
			}
		}
		
		long min = 0;
		long mid = 0;
		
        max++;
        
		while(min < max) {
			mid = (max+min) / 2;
			
			long count = 0;
			
			for(int i=0; i<arr.length; i++) {
				count += (arr[i]/mid);
			}
			
			if(count < N) {
				max = mid;
			} else {
				min = mid + 1;
			}
		}
		
		System.out.println(min-1);
	}
}
profile
백엔드 개발자가 되고싶은 eunzi😊

0개의 댓글