首页 > 学院 > 开发设计 > 正文

POJ 1064 Cable master

2019-11-08 01:47:06
字体:
来源:转载
供稿:网友

经典二分

AC代码:

#include <iostream>#include <cstdio> #include <cstring> #include <cstdlib>#include <cmath>#include <algorithm> using namespace std; int n, k;double a[10005]; bool judge(double x){ int cnt = 0; for(int i = 0; i < n; i++){ cnt += (int)(a[i]/x); if(cnt >= k) return true; } return false;}int main(){ scanf("%d %d", &n, &k); double maxa = 0; for(int i = 0; i < n; i++){ scanf("%lf", &a[i]); maxa = max(maxa, a[i]); } double lb = 0, ub = maxa; for(int i = 0; i < 100; i++){ double mid = (ub + lb)/2.0; if(judge(mid)) lb = mid; else ub = mid; } PRintf("%.2f", floor(ub*100)/100); return 0;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表