#include <bits/stdc++.h>
using namespace std;
long long n, k, a[1000005];
int main(){
scanf("%lld %lld", &n, &k);
for(int i = 0;i<=n - 1;i++){
scanf("%lld", &a[i]);
}
long long l = 0, r = 1000000000, best = -1;
while(l<=r){
long long m = (l + r) / 2, g = 0;
for(int i = 0;i<=n - 1;i++){
g = g + a[i] / m;
}
if(g>=k){
best = m;
l = m + 1;
}else{
r = m - 1;
}
}
if(best==0||best==-1){
printf("-1");
}else{
printf("%lld", best);
}
return 0;
}
报错信息:
Runtime Error. Received signal 8: Floating-point exception.
自己查了一下翻译,长这样:
运行时错误。 接收信号8:浮点异常。
有大佬能帮忙看一下吗?