C++课后习题训练记录Day157

1.练习项目 :

问题描述

给定 n 根木棒,第 i 根木棒的长度为 Li​。每次你可以选择任意一根木棒并将其切成两段,切完后两段的长度都必须为整数。请问,如果一共切 m 次,在所有的方案中,切完后木棒中最长的一根最短是多少?

输入格式

输入的第一行包含两个整数 n,m,用一个空格分隔。第二行包含 n 个正整数 L1,L2,...,Ln​,依次表示每根木棍的长度。

输出格式

输出一行包含一个整数表示答案。

2.选择课程

在蓝桥云课中选择题库,选择题号20136并开始练习。

3.开始练习

(1)源码 :

#include<bits/stdc++.h>

using namespace std;

typedef long long ll;

const int N=3e5+10;

ll aN;

int n,m;

bool check(int mid)

{

ll res=0;

for(int i=1;i<=n;i++){

res=res+ai/mid+(ai%mid==0?0:1)-1;

}

return res<=m;

}

int main()

{

ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);

cin>>n>>m;

for(int i=1;i<=n;i++){

cin>>ai;

}

ll l=1,r=2e18;

while(l<=r){

ll mid=(l+r)/2;

if(check(mid))r=mid-1;

else l=mid+1;

}

cout<<l<<'\n';

return 0;

}

(2)检验结果

对此代码进行检验,检验后无报错,提交此代码,判题结果为正确100分。

(3)练习心得:注意每段代码末尾的分号是否存在,如不存在则需即使补充;输入法 是否切换 为英语模式;语法是否错误。

相关推荐
Data_Journal12 小时前
如何将网页抓取用于机器学习
大数据·开发语言·数据库·python·scrapy
郝学胜-神的一滴13 小时前
Effective Python 条款 13:善用星号解包,告别下标切片拆分的坑
服务器·开发语言·数据结构·python·程序人生·pycharm
一水鉴天13 小时前
词、术语、概念:从特征集收束到统一拓扑变换的升格与降格模型 20260915(豆包)
开发语言·人工智能
j7~13 小时前
【Linux网络加餐】(篇六)网络版计算器(上):模板方法模式、序列化与 JSON
linux·c++·json·序列化·反序列化·网络版计算机
weixin_3077791313 小时前
C++代码实现MATLAB中的ode45函数功能
开发语言·c++·算法·matlab
张小姐的猫13 小时前
【AI大模型接入SDK】 —— 数据管理 & 与Session模块进行联动
数据结构·数据库·c++·人工智能·python·chatgpt
是立不是利14 小时前
大文件导致请求被拒的连锁反应
开发语言·前端·javascript
東隅已逝,桑榆非晚14 小时前
vector(模拟实现)
c++·笔记·学习
野生技术架构师14 小时前
1200 道 JAVA 面试题(各大企业常见面试题及答案)
java·开发语言