88pts求调
查看原帖
88pts求调
957837
Not__lazy楼主2023/5/14 19:36

https://www.luogu.com.cn/record/110401573

#include<bits/stdc++.h>
#include<algorithm>
using namespace std;
long long a[1000000];
bool dg(long long n,long long m,long long z){
	long long k=0;
	for(int i=1;i<=n;i++)k+=a[i]/z;
	return k>=m;
}
int main(){
	long long n,m,k=0,x,y,z;
	scanf("%lld %lld",&n,&m);
	for(int i=1;i<=n;i++){
		scanf("%lld",&a[i]);
		k+=a[i];
	}
	x=1;y=k/m;
	while(x<y){
		z=(x+y+1)/2;
		if(dg(n,m,z))x=z;
		else y=z-1;
	}
	k=x;
	for(int i=1;i<=n;i++)m-=a[i]/k;
	if(m==true)printf("0");
	else printf("%lld",k);
}
2023/5/14 19:36
加载中...