加几句话就A了
在里面找一个最小值
如果最小值乘总段数都小于需要的段数k
return 0就好了
不知道有没有帮到你
```cpp
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int n,k,l=0,a[10001];
ll POAS_ACZDJ(ll l)
{
ll cnt=0;
for(ll i=1;i<=n;i++)
cnt=cnt+a[i]/l;
return cnt;
}
int main()
{
ll s;
int minn=1e8;
scanf("%d %d",&n,&k);
for(ll i=1;i<=n;i++)
{
scanf("%d",&a[i]);
s+=a[i];
l=max(l,a[i]);
minn=min(minn,a[i]);
}
if(minn*n<k)
{
puts("0");
return 0;
}
while(POAS_ACZDJ(l)<k)
l--;
if(l==0)
{
puts("0");
return 0;
}
printf("%lld\n",l);
return 0;
}
```
@[CPHZJ](/space/show?uid=96304)
by 紫妹只有17岁 @ 2018-08-30 20:10:07