#include<iostream> #include<cmath> #include<stack> #include<algorithm> #include<cstring> #include<queue> using namespace std; const double eps = 1e-4; long long L[100005]; int n, m; bool fun(double len) { int sum = 0; for(int i = 0; i < n; i++) { sum += (int)(L[i] * 1.0 / len); if(sum >= m) { return true; } } return false; } bool cmp(long long a, long long b) { return a > b; } int main() { while(cin >> n >> m) { long long sum = 0; for(int i = 0; i < n; i++) { cin >> L[i]; sum += L[i]; } sort(L, L + n, cmp); double r = (double)sum / (m * 1.0); double l = 0; while(r - l >= eps) { double m = (l + r) / 2.0; if(fun(m)) { l = m; } else { r = m; } } printf("%.2lf\n", l); } }
点赞 评论

相关推荐

给🐭🐭个面试机会...:我擦seed✌🏻
点赞 评论 收藏
分享
用微笑面对困难:你出于礼貌叫了人一声大姐,大姐很欣慰,她真把你当老弟
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务