/*
used the concept of binary search in problem BALLOT
spoj.com/problems/BALLOT/
but getting WA
need some help .......
my code
*/
include
int n,b,p[10000000];
int ballot(int m)
{
int i,flag=0;
for(i=0;i {
if(p[i]>m)
{
flag+=(p[i]/m);
if(p[i]%m!=0)
flag++;
}
else
{
flag++;
}
}
return flag;
}
int bs(int e)
{
int s=1,m;
while(s {
m=(s+e+1)/2;
int x=ballot(m);
if(x<=b)
{
e=m-1;
}
else
{
s=m+1;
}
}
return m;
}
int main()
{
while(1)
{
scanf("%d %d",&n,&b);
if(n==-1&&b==-1)
break;
int i,min=1000000000,max=-1000000000;
for(i=0;i {
scanf("%d",&p[i]);
if(min>p[i])
min=p[i];
if(max
max=p[i];
}
int ans=bs(max);
printf("%d\n",ans);
}
return 0;
}