评测记录
还挺奇怪的 不知道为什么。求条。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=100010;
int a[maxn],m,n,mx;
bool check(int mid){
ll cnt=0;
for(int i=1;i<=n;i++){
cnt+=a[i]/mid;
}
return m>cnt;
}
int lfind(int lt,int rt){
while(lt<rt){
int mid=lt+(rt-lt)/2;
if(check(mid)){
rt=mid;
}else{
lt=mid+1;
}
}
return lt-1;
}
int main(){
scanf("%d%d",&n,&m);
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
if(mx<a[i]){
mx=a[i];
}
}
cout<<lfind(1,mx);
return 0;
}