小数二分70pts求助
  • 板块P1577 切绳子
  • 楼主_caiji_
  • 当前回复1
  • 已保存回复1
  • 发布时间2021/3/3 18:29
  • 上次更新2023/11/5 02:30:05
查看原帖
小数二分70pts求助
390033
_caiji_楼主2021/3/3 18:29

rt

#include <cstdio>
using namespace std;
const double eps=1e-3;
int n,k;
double a[10010];
bool check(double nowans){
    int ans=0;
    for(int i=1;i<=n;i++){
        ans+=(int)a[i]/nowans;
    }
    return ans<k;
}
double binary(){
    double l=0,r=1e6+10;
    while(r-l>=eps){
        double mid=(l+r)/2;
        if(check(mid)) r=mid;
        else l=mid;
    }
    return r;
}
int main(){
    scanf("%d%d",&n,&k);
    for(int i=1;i<=n;i++) scanf("%lf",a+i);
    printf("%.2lf",binary());
    return 0;
}
2021/3/3 18:29
加载中...