1 #include <iostream>
  2 #include <algorithm>
  3 using namespace std;
  4 const int N = 1e5 + 5;
  5 double sum[N], cows[N];
  6 int n, f;
  7
  8 bool check(double avg){
  9     for(int i = 1; i <= n; ++ i) sum[i] = sum[i-1] + cows[i] - avg;//求前缀和
 10     double minv = 0;
 11     for(int i = 0, j = f; j <= n; ++ j, ++ i){
 12         minv = min(sum[i], minv);//找出0-i之间的最小值
 13         if(sum[j] >= minv) return true;//判断是否满足条件
 14     }
 15     return false;
 16 }
 17
 18 int main(){
 19     cin >> n >> f;
 20     for(int i = 1; i <= n; ++ i) cin >> cows[i];
 21     double l = 0, r = 2000;
 22     while(r - l > 1e-5){//浮点数二分
 23         double mid = (l+r)/2;
 24         if(check(mid)) l = mid;
 25         else r = mid;
 26     }
 27     cout << int(r * 1000) << endl;//向下取整
 28     return 0;
 29 }

最佳牛栏(前缀和+二分)相关推荐

  1. poj3061尺取法/前缀和 二分(java)

    今天遇到这题因为以前没见到过,当时就是想着应该有着一个很简单的方法可以过但是奈何就是没思路.后来看了别人思路写了下来.学习了尺取法 poj3061 题目介绍: Description A sequen ...

  2. [Leedcode][JAVA][第209题][长度最小的子数组][滑动窗口][前缀和][二分查找][双指针]

    [问题描述][中等] 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度.如果不存在符合条件的连续子数组,返回 0.示例: 输入: ...

  3. LeetCode 528. 按权重随机选择(前缀和+二分查找)

    文章目录 1. 题目 2. 解题 1. 题目 给定一个正整数数组 w ,其中 w[i] 代表下标 i 的权重(下标从 0 开始),请写一个函数 pickIndex ,它可以随机地获取下标 i,选取下标 ...

  4. LeetCode 497. 非重叠矩形中的随机点(前缀和+二分查找)

    文章目录 1. 题目 2. 解题 1. 题目 给定一个非重叠轴对齐矩形的列表 rects,写一个函数 pick 随机均匀地选取矩形覆盖的空间中的整数点. 提示: 整数点是具有整数坐标的点. 矩形周边上 ...

  5. 索引法则--最佳左前缀法则

    Mysql 系列文章主页 =============== 最佳左前缀法则学习和Demo演示 1 准备数据 1.1 建表 DROP TABLE IF EXISTS staff; CREATE TABLE ...

  6. Glider(前缀和+二分)

    题目链接:Glider Gym-101911B 解题分析:下落的高度一定,是h.在没有气流的地方每秒下落1:所以可以转化为经过无气流地带的时间总长为h. 那么很显然从一个有气流地带的开始,选择下落,那 ...

  7. 209 长度最小的子数组(前缀和+二分查找、滑动窗口)

    1. 问题描述: 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度.如果不存在符合条件的子数组,返回 0. 示例: 输入:s = ...

  8. HDU 6406 Taotao Picks Apples(前缀和+二分)

    HDU 6406 Taotao Picks Apples(前缀和+二分) Time Limit: 2000/2000 MS (Java/Others) Memory Limit: 131072/131 ...

  9. 青蛙过河(前缀和+二分)

    问题描述 小青蛙住在一条河边, 它想到河对岸的学校去学习.小青蛙打算经过河里 的石头跳到对岸. 河里的石头排成了一条直线, 小青蛙每次跳跃必须落在一块石头或者岸上. 不过, 每块石头有一个高度, 每次 ...

  10. Music Notes(前缀和+二分)

    链接:https://ac.nowcoder.com/acm/contest/1077/I 来源:牛客网 Music Notes 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 327 ...

最新文章

  1. java连接mysql8的坑
  2. 百度发布智能小程序:“开放+AI”是最大特色
  3. 解决maven找不到jdk的问题
  4. redis 的使用 (sort set排序集合类型操作)
  5. priority_queue的常见用法详解
  6. java service wrapper日志参数设置及优化
  7. AV1:下一代视频标准—约束定向增强滤波器
  8. 虚拟机使用ESXi主机物理硬盘的办法
  9. IE8给你选择的理由
  10. html表格中加横线,表格下划线怎么打出来
  11. Bugzilla简明使用手则
  12. 21天Jmeter打卡Day21生成HTML测试报告
  13. eclipse 配置多个tomcat
  14. 机器学习算法之KNN算法,python实现
  15. Visual Studio 2012 激活码
  16. android horizontalscrollview 动画,Android 用HorizontalScrollView实现滑动标签tabView
  17. 201871010126 王亚涛 《面向对象程序设计(java)》 第四周学习总结
  18. IOS课程期末项目报告
  19. 团队建设之做好技术团队管理
  20. dvd光驱在计算机内怎么找不到,电脑DVD光驱消失找不到怎么处理

热门文章

  1. Hive on spark执行子查询报错code3
  2. java web后台学习路线
  3. 最快的 Hexo 博客搭建方法
  4. 嵌入式系统开发与应用——ARM 开发环境搭建及GPIO控制LED实验
  5. java 定时发送心跳_RxJava2.0第五篇 interval 定时任务(心跳包)
  6. TeeChart Pro ActiveX教程(十九):TeeChart工具集(六)
  7. 浏览器0x80004005 无法上网
  8. oracle block corrupted,ORA-01578: ORACLE data block corrupted
  9. PV3D的小练习~太阳系八大行星
  10. python使用moviepy包下的VideoFileClip时报错:OSError: [WinError 6] 句柄无效解决方法