1 条题解
-
1
世界上最好的题解😄
#include<bits/stdc++.h> using namespace std; const int N=10010; int n,k; double a[N]; bool check(double x){ int cnt=0; for(int i=1;i<=n;i++){ cnt+=int(a[i]/x); } return cnt>=k; } double bsearch(double l,double r){ for(int i=1;i<=100;i++){ double mid=(l+r)/2; if(check(mid))l=mid; else r=mid; } return l; } int main(){ double l=0,r=0; cin>>n>>k; for(int i=1;i<=n;i++){ cin>>a[i]; r=max(r,a[i]); } double ans=bsearch(l,r); printf("%.2lf",int(ans*100)/100.0); return 0; }
看完别忘了点赞呦👍
- 1
信息
- ID
- 573
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 3
- 标签
- 递交数
- 6
- 已通过
- 4
- 上传者