记录编号 | 407440 | 评测结果 | AAAAAAAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | 网线切割 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | C++ | 运行时间 | 0.000 s | ||
提交时间 | 2017-05-21 19:59:48 | 内存使用 | 0.00 MiB | ||
#include<iostream> #include<cstdio> #include<cctype> #include<algorithm> #include<vector> #include<queue> using namespace std; const int maxn=10003; int n,k,a[maxn],l=0,r=0,mid; inline void in(int &x){ x=0;int f=1;char t=getchar(); while(!isdigit(t)){if(t=='-')f=-1;t=getchar();} while(isdigit(t)){x=x*10+t-48;t=getchar();} x*=f; } inline void work(){ in(n);in(k); double di; for(int i=1;i<=n;i++){ scanf("%lf",&di); a[i]=(float)di*100.0; r=max(r,a[i]); } r++; while(l+1<r){ mid=(l+r)/2; int cnt=0; for(int i=1;i<=n;i++){ cnt+=a[i]/mid; } if(cnt>=k) l=mid; else r=mid; } printf("%.2lf",l/100.0); } inline int mian(){ freopen("cable.in","r",stdin); freopen("cable.out","w",stdout); work(); } int miku=mian(); int main(){;}