hdu4190

来源:互联网 发布:windows maker movie 编辑:程序博客网 时间:2024/06/06 01:29
/*
分析:
    实在想不出来啥好方法,上网一查,二分?!
    好吧,暴力二分吧。
    312MS。


                                    2012-07-31 20:56
*/










#include"stdio.h"int MAX(int a,int b){return a>b?a:b;}int city[500011];int main(){int n,m;int i;int t_num;int low,up,mid;int temp;while(scanf("%d%d",&n,&m)!=-1){if(n==-1 && m==-1)break;up=0;for(i=0;i<n;i++){scanf("%d",&city[i]);up=MAX(up,city[i]);}low=0;temp=-1;while(low<up){mid=(low+up)>>1;if(temp==mid)break;temp=mid;if(!mid)mid=1;t_num=0;for(i=0;i<n;i++){t_num+=city[i]/mid;if(city[i]%mid)t_num++;}if(t_num>m)low=mid;elseup=mid;}printf("%d\n",up);}return 0;}