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