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);
}
}