hhttps://www.acmicpc.net/problem/1654ttps://school.programmers.co.kr/learn/courses/30/lessons/131701
이분 탐색. 잘못 구현하면 예외가 좀 많다.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 백준{
public class Solution{
public static void Main()
{
var read = Console.ReadLine()!.Split(" ").Select(int.Parse).ToArray();
var lines = Enumerable.Range(0, read[0]).Select(_ => int.Parse(Console.ReadLine()!)).ToArray();
var target = read[1];
var lineEa = 0.0;
var start = 1.0;
var end = (double)lines.Max();
var mid = 0.0;
while (start <= end)
{
mid = (int)((start + end) / 2);
lineEa = lines.Select(l => (int)(l / mid)).Sum(Convert.ToDouble);
if (lineEa < target)
{
end = mid - 1;
}
else
{
start = mid + 1;
}
}
Console.WriteLine(end);
}
}
}
https://www.acmicpc.net/board/view/124982
nebobyeoli님 감사합니다.