[백준] 1654번 : 랜선 자르기 - C#

강재원·2022년 11월 10일
0

[코딩테스트] C#

목록 보기
173/200



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

using System;

class Program
{
    static void Main() {
        string[] s=Console.ReadLine().Split(' ');
        int k=int.Parse(s[0]);
        int n=int.Parse(s[1]);
        int[] arr=new int[k];
        for(int i=0;i<k;i++){
            string s1=Console.ReadLine();
            arr[i]=int.Parse(s1);
        }
        Array.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 max=mid-1;
        }
        Console.Write(max);
    }
}
profile
개념정리 & 문법 정리 & 알고리즘 공부

0개의 댓글