5.5
洛谷P7585 [COCI2012-2013#1] LJUBOMORA
最大值最小问题,嫉妒值越小,孩子数越多-->二分答案!
#include<iostream>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
ll n,m,q[300010];
ll l,r;
bool check(ll x){
int sum=0;
for(int i=0;i<m;i++){
sum+=q[i]/x;
if(q[i]%x!=0)
sum++;
}
return sum<=n;
}
int main()
{
cin>>n>>m;
int sum=0;
for(int i=0;i<m;i++){
cin>>q[i];
r+=q[i];
}
while(l+1<r){
ll mid=(l+r)/2;
if(check(mid))
r=mid;
else
l=mid;
}
cout<<r;
return 0;
}