[백준] 1654번 : 랜선 자르기 - Java(자바)

강재원·2022년 11월 10일
0

[코딩테스트] Java

목록 보기
173/200



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

import java.util.*;
public class Main {
    public static void main(String args[]) {
        Scanner s=new Scanner(System.in);
        int k=s.nextInt();
        int n=s.nextInt();
        int arr[]=new int[k];
        for(int i=0;i<k;i++){
            arr[i]=s.nextInt();
        }
        Arrays.sort(arr);
        long max=arr[k-1];
        long min=1;
        long mid=0;
        
        while(min<=max){
            long count=0;
            mid=(min+max)/2;
            for(int i=0;i<k;i++){
                count+=arr[i]/mid;
            }
            
            if(count>=n) min=mid+1;
            else if(count<n) max=mid-1;
        }
        System.out.print(max);
    }
}
profile
개념정리 & 문법 정리 & 알고리즘 공부

0개의 댓글