1731: 数棍子
时间限制: 1 Sec 内存限制: 128 MB

[提交][状态][讨论版]
题目描述
假如你手头上有一些长度参差不齐的木棍,他想将每根都裁剪成若干段自己想要的长度,并丢掉多余的部分。因为你的手很巧,所以你的裁剪过程不会有任何的失误。也就是说,对于一根长度为N的木棍,你可以精准的将它们裁剪为若干段木棍,使它们的长度之和为N。

你不知道裁剪成多长比较好,所以干脆越长越好。不过由于你有点强迫症,所以你希望长度为非负整数。保证所有木棍的原长也是非负整数。那么请问你最终得到的每根木棍多长呢?

输入
第一行两个正整数N、K,表示木棍原本的根数和华华希望得到的木棍根数。

第二行N个正整数
L
i
表示每根木棍的初始长度。
多组数据输入
1≤N≤2×1e5,1≤Li≤1e9,1≤K≤1e9

输出
输出一行一个非负整数表示每根木棍的最大长度

样例输入

5 10
4 4 4 5 3
5 3
1 2 3 4 5

样例输出

1
3

提示
第一组数据:如果长度为2,只能得到2+2+2+2+1=9根,不够;长度为1可以得到4+4+4+5+3=20根,足够。所以答案最大是1

来源
Ac_code:

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const LL maxn = 2e5+5;
LL a[maxn];
int main()
{LL n,k;while(~scanf("%lld%lld",&n,&k)){LL l = 1,r = 0;LL ans = 0;LL sum = 0;for(LL i = 0; i < n; i++){scanf("%lld",&a[i]);sum += a[i];r = max(a[i],r);}if(sum <= k){if(sum == k) ans = 1;printf("%lld\n",ans);continue;}while(l <= r){LL mid = (l+r)>>1;LL cnt = 0;for(LL i = 0; i < n; i++){cnt += a[i]/mid;}if(cnt >= k){l = mid + 1;}else{r = mid - 1;}}ans = r;printf("%lld\n",ans);}return 0;
}

1731: 数棍子(二分,最后一个大于等于)相关推荐

  1. 『ACM-算法-二分法』在单调递增序列a中查找小于等于x的数中最大的一个(即x或x的前驱)

    写在前面:我们主要还是分享算法的模板,而不是去刨析算法的原理! 定义: 二分答案是指在答案具有单调性的前提下,利用二分的思想枚举答案,将求解问题转化为验证结果. 流程: 首先需要估计答案的上下界,然后 ...

  2. 使用for循环实现:验证“歌德巴郝猜想:任意一个大于等于4的偶数可写成两个素数之和”

    #include <stdio.h> //设置函数素数,若为素数则返回值为1,否则为0 int sushu(int x) {int i;for (i=2;i<x;i++){if(x% ...

  3. 函数字节不对齐函数崩溃_Excel中统计字符数,不需要一个一个的数,len函数能轻松搞定...

    简介:要统计Excel单元格中的字符数,不需要一个一个的数,利用len函数就能轻松搞定. 问:什么是len函数? 答:自动统计字符数的函数 问:怎样记住len函数 答:len是length(长度)的简 ...

  4. Java黑皮书课后题第5章:*5.31(金融应用:计算CD价值)假设你用10 000美元投资一张CD,年利率为5.75%。编写程序,提示由用户输入一个金额数、年获利率、月份数,然后显示一个表格

    5.31(金融应用:计算CD价值)假设你用10 000美元投资一张CD,年获利率为5.75%.编写程序,提示由用户输入一个金额数.年获利率.月份数,然后显示一个表格 题目 题目概述 运行示例 破题 代 ...

  5. python怎么设置回文数_python如何写一个函数判断回文数?

    python如何写一个函数判断回文数? python写一个函数判断回文数的方法: 设n是一任意自然数.若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数.例如,若n=1234321,则称 ...

  6. 验证哥德巴赫猜想:任何一个大于等于6的偶数均可表示为两个素数的和。如6=3+3,8=3+5,,18=5+13。试编写程序,要求将输入的一个偶数表示成两个素数之和。 输入输出样例如下:

    验证哥德巴赫猜想:任何一个大于等于6的偶数均可表示为两个素数的和.如6=3+3,8=3+5,,18=5+13.试编写程序,要求将输入的一个偶数表示成两个素数之和. 输入输出样例如下: 98 98 = ...

  7. 歌德巴赫猜想:任意一个大于等于6的偶数都能拆分为2个质数之和:如:8=3+5 求证6到1000内的所有偶数都成立

    哥德巴赫猜想:任意一个大于等于6的偶数都能拆分为2个质数之和:如:8=3+5  求证6到1000内的所有偶数都成立 for(int n=6;n<=1000;n++){ //定义变量m从2开始跑到 ...

  8. 帆软的数知鸟是一个什么东西

    文章目录 一. 数知鸟(数知鸟目前是完全免费的2022.8.24) 1.是什么东西 2.需求 3.里面还有脑图 今天看了一下这个东西,写一下记录 这个东西还是不需要怎么了解,就算是你公司用这个,你只需 ...

  9. C# 利用linq获取一组数中几个连续数中最大的一个数字

    提供一个数组,其中部分数据是连续的,比如0~20的一组数据,其中少了一个数,假设少了11,那么连续中最大的数字就是10, 假如数组不是从0开始,假设是3~20,中间少了1个数,假如少了8,那么连续中最 ...

最新文章

  1. 如何将深度学习研究论文实现为代码的几个要点
  2. GNU make manual 翻译(五十七)
  3. OpenCV中图像窗口的鼠标事件
  4. DevNet网站上线
  5. 递归函数中局部变量和全局变量
  6. aws spark_使用Spark构建AWS数据湖时的一些问题以及如何处理这些问题
  7. springboot注释详解
  8. sap成本流怎么看_SAP FICO成本结算的流程到底是怎样的?
  9. 校招毁约污点公司名录.pdf
  10. mysql 内存性能优化
  11. Windows/Linux/Solaris 软中断处理机制
  12. EXCEL常见数据处理操作(一)
  13. 安装VS2010旗舰版时出现.Net framework4.0,安装失败
  14. 【RFC2818 基于 TLS 的 HTTP】(翻译)
  15. Pascal 过程与函数
  16. 3D坐标系、矩阵变换、视景体与裁剪
  17. 正则表达式(手机号前带区号)
  18. python全栈工程师 pdf_python全栈工程师项目开发实例实战入门教程百度云
  19. Docker-第一课
  20. linux漏洞知乎_linux系统怎么用

热门文章

  1. 为什么复制粘贴时html,关于javascript:为什么你应该停止复制和粘贴
  2. mysql scrapy 重复数据_mysql数据库如何处理重复数据?
  3. c#二叉树 取叶子节点个数_数据结构第四章:树与二叉树(二叉树的概念、性质、特殊二叉树)...
  4. 翻遍全网!这4个Python项目最良心!(含视频源码)
  5. 在python中、处理的一切都是对象_Python 3+ 一切都是对象
  6. invalid floating point operation什么意思_数据可视化有意思的小例子:Taylor Swift 歌词数据分析和可视化...
  7. 19-爬虫之scrapy框架大文件下载06
  8. element标签弹窗_如何在element plus中实现不同弹窗传值
  9. 笔记本安装ubuntu后触控板失灵
  10. 将一个简单远程调用的方式例子改为异步调用 -- 2