如题
下面代码中这个位置
cout<<ef(1,as)-1;
面向样例编程时加进去的 竟然ac了 但是我并不知道为什么 求助大神
#include<iostream>
using namespace std;
int n,k,ym[100001];
bool check(int cd)
{
int ans=0;
for(int i=1;i<=n;i++)
{
ans+=ym[i]/cd;
}
return ans>=k;
}
int ef(int l,int r)
{
if(l==r) return l;
int mid=(l+r)/2;
if(check(mid))
return ef(mid+1,r);
else
return ef(l,mid);
}
int main()
{
cin>>n>>k;
int as=-1;
for(int i=1;i<=n;i++)
{
cin>>ym[i];
if(ym[i]>as)
as=ym[i];
}
cout<<ef(1,as)-1;
return 0;
}