题意:给定 n 条绳子,它们的长度分别为 ai,现在要从这些绳子中切出 m 条长度相同的绳子,求最长是多少。

析:其中就是一个二分的水题,但是有一个坑,那么就是最后输出不能四舍五入,只能向下取整。

代码如下:

#pragma comment(linker, "/STACK:1024000000,1024000000")
#include <cstdio>
#include <string>
#include <cstdlib>
#include <cmath>
#include <iostream>
#include <cstring>
#include <set>
#include <queue>
#include <algorithm>
#include <vector>
#include <map>
#include <cctype>
#include <cmath>
#include <stack>
#include <sstream>
#define debug() puts("++++");
#define gcd(a, b) __gcd(a, b)
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define freopenr freopen("in.txt", "r", stdin)
#define freopenw freopen("out.txt", "w", stdout)
using namespace std; typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int, int> P;
const int INF = 0x3f3f3f3f;
const double inf = 0x3f3f3f3f3f3f;
const double PI = acos(-1.0);
const double eps = 1e-8;
const int maxn = 1e4 + 10;
const int mod = 1e9 + 7;
const int dr[] = {-1, 0, 1, 0};
const int dc[] = {0, 1, 0, -1};
const char *de[] = {"0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111", "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111"};
int n, m;
const int mon[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
const int monn[] = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
inline bool is_in(int r, int c){
return r >= 0 && r < n && c >= 0 && c < m;
}
double a[maxn]; bool judge(double mid){
int ans = 0;
for(int i = 0; i < n; ++i) ans += (int)(a[i] / mid);
return ans >= m;
} double solve(){
double l = 0, r = INF;
for(int i = 0; i < 100; ++i){
double mid = (l+r) / 2.0;
if(judge(mid)) l = mid;
else r = mid;
}
return floor(l*100) / 100;
} int main(){
while(scanf("%d %d", &n, &m) == 2){
for(int i = 0; i < n; ++i) scanf("%lf", a+i);
printf("%.2f\n", solve());
}
return 0;
}

最新文章

  1. Xcode 属性面板添加自定义控件属性
  2. HTML div 滚动条样式设计
  3. Python基础学习笔记(二)变量类型
  4. How to: Run Tests from Microsoft Visual Studio
  5. tornado 实践 - 目录结构
  6. 教你利用iframe在网页中显示天气
  7. URAL1018. Binary Apple Tree
  8. Leaflet学习笔记-基础内容
  9. [UOJ 25] [IOI 2014] Wall 【线段树】
  10. CURD演示 2
  11. easyui tree 的数据格式转换
  12. 关于visual studio的一些日常总结
  13. asp.net session mode 几种状态 (转)
  14. JAVA JDBC 增删改查简单例子
  15. 关于MySQL中pymysql安装的问题。
  16. Android中检测字符编码(GB2312,ASCII,UTF8,UNICODE,TOTAL——ENCODINGS)方法(二)
  17. uva-11021-全概率公式
  18. 实现C++标准库string类的简单版本
  19. SpringMvc HttpMessageConverter之@ResponseBody
  20. java正则表达式校验移动电话、固话、邮编的校验

热门文章

  1. 高性能流媒体服务器EasyDSS前端重构(二) webpack + vue + AdminLTE 多页面提取共用文件, 优化编译时间
  2. 【题解】Coins(二进制拆分+bitset)
  3. SAP 第四代增强-BTE
  4. MySql索引建立规则
  5. 安装pymysqlpool并使用(待补充)
  6. redis的持久化RDB与AOF
  7. 【Leetcode-easy】ZigZag Conversion
  8. Mybatis中的like模糊查询
  9. SpringMVC拦截器的配置与使用详解
  10. listen 57