首页 > 其他分享 >每日打卡-5.2

每日打卡-5.2

时间:2023-04-16 21:12:02浏览次数:46  
标签:5.2 可行 钢管 int 每日 mid cnt 打卡

一.问题描述

小A是某工地的计算工程师。工地现有 n 根钢管,第 i 根钢管的长度为 ai。

现在想用这 n 根钢管来做一个支撑用的柱子。我么可以切割这些钢管成为更短的钢管,但是不能缝合两根钢管。为了安全起见,柱子必须用 至少 k 根长度相同的钢管加上混凝土制成,并且要求钢管长度必须为 整数。

小A想知道,这个柱子最高能建成多高(钢管可以有剩余)。

注:1<=n,k<=1e5,1<=ai<=1e8

二.设计思路

这里我们对答案进行二分,找到一个可行的答案即可!最后输出的是 r - 1,因为我们保证的是 l 是可行的范围, r 是不可行的范围,最后需要减一,使得答案是可行的。

三.流程图

四.伪代码 

1

五.代码实现 

1#include<bits/stdc++.h>
using namespace std;
int a[10010];
int main(){
    int n, k;
    cin >> n >> k;
    for(int i = 0; i < n; i++){
        cin >> a[i];
    }
    int l = 0, r = 100000001;
    while(l < r){
        int mid = (l + r) >> 1;
        int cnt = 0;
        for(int i = 0; i < n; i++){
            cnt += a[i] / mid;
        }
        if(cnt >= k){
            l = mid + 1;
        }else{
            r = mid;
        }
    }
    cout << r - 1;
    return 0;
}

 

标签:5.2,可行,钢管,int,每日,mid,cnt,打卡
From: https://www.cnblogs.com/leapssisbird/p/17324085.html

相关文章

  • Go 每日一库之 fsnotify
    上一篇文章Go每日一库之viper中,我们介绍了viper可以监听文件修改进而自动重新加载。其内部使用的就是fsnotify这个库,它是跨平台的。今天我们就来介绍一下它。快速使用先安装:$gogetgithub.com/fsnotify/fsnotify后使用:packagemainimport("log""github.com/......
  • 2021/4/11每日总结
    AjaxAJAX是AsynchronousJavaScriptAndXML的简称。直译为,异步的JS和XML。AJAX的实际意义是,不发生页面跳转、异步载入内容并改写页面内容的技术。AJAX也可以简单的理解为通过JS向服务器发送请求。异步处理同步处理AJAX出现之前,我们访问互联网时一般都是同步请求,也就是当我们通......
  • 2023/4/14每日总结
    在JS中操作JSON1.创建JSON对象varjson={“name1”:”value1”,”name2”:”value2”,“name3”:[1,”str”,true]};varjson=[{“name1”:”value1”},{“name2”:”value2”}];2.JSON对象转换为JSON字符串JSON.stringify(JSON对象)3.JSON字符串转换为JSON对象JSON.parse(......
  • 每日打卡
    //#include<iostream>//usingnamespacestd;//intmain()//{// longlongintA,B,C;intD;// cin>>A>>B>>D;// C=A+B;// intn=0;// longlongm=C;// while(m!=0)// {// n++;// m/=D;// }// int*a=newint[n];// for......
  • 每日打卡-5.1
    一.问题描述  小A所在的学校又迎来了一年一度的开花活动,有n名学生被评为文学优秀奖,m名学生被评为体育优秀奖。现已知两个奖项获奖同学的编号,每个同学都有唯一的编号。只有同时被评为文学优秀奖和体育优秀奖的学生才能开花,小A想知道开花的名单,请你帮他统计一下。注:1<=n,m<=1e......
  • 2023.4.16每日会议
    昨天做了什么:完成了饼状图和比例listview遇到了哪些问题:对饼状图的使用不知道今天准备做什么:尝试将数据库迁移到官方服务器 ......
  • 天天打卡一小时——3
    一.问题描述输入一个0~6的数字,转化成数字输出二.设计思路1.输入0~6中任意一个数字2.需要运用多重分支结构3.选用switch语句三.程序流程图画不出来四.代码实现#include<iostream>usingnamespacestd;intmain(){intday;cin>>day;switch(day){case0:c......
  • 每日编程一小时(第七天)
    一.问题描述找两个数的最大公因数。二.设计思路1.输入两个数2.比较两个数的大小3.大数求余小数4.循环除数做被除数余数做除数,直到余数为0,被除数就是最大公因数三.流程图 四.代码实现#include<stdio.h>intmain(){inta,b,c,m,n;scanf("%d%d",&a,&b);......
  • c++打卡第六天
    Ⅰ一、问题描述定义一个函数判断一个数是否为质数。二、设计思路①输入一个数,同时进入函数判断。②进入函数可以通过for循环判断n是否为质数③当这个数为1时,不是质数,而当这个数是23时,是质数。④可以通过循环质因数,其范围到n的开平方。三、流程图四、代码实现 #in......
  • 每日打卡 8
    #include<iostream>usingnamespacestd;#include<algorithm>intget(inta,intb){intl=1,r=1e9+1;while(l<r){intmid=l+r>>1;if(a/mid<=b)r=mid;elsel=mid+1;......