【二分算法】分巧克力

儿童节那天有 K 位小朋友到小明家做客。

小明拿出了珍藏的巧克力招待小朋友们。

小明一共有 N 块巧克力,其中第 i 块是 H×W的方格组成的长方形。

为了公平起见,小明需要从这 N 块巧克力中切出 K块巧克力分给小朋友们。

切出的巧克力需要满足:

  1. 形状是正方形,边长是整数
  2. 大小相同

例如一块 6×56×5 的巧克力可以切出 66 块 2×22×2 的巧克力或者 22 块 3×33×3 的巧克力。

当然小朋友们都希望得到的巧克力尽可能大,你能帮小明计算出最大的边长是多少么?

输入格式

第一行包含两个整数 N和 K

以下 N 行每行包含两个整数 H和 W

输入保证每位小朋友至少能获得一块 1×1 的巧克力。

输出格式

输出切出的正方形巧克力最大可能的边长。

数据范围

1≤N,K≤1e5
1≤H,W≤1e5

输入样例:
2 10
6 5
5 6
输出样例:
2
#include<iostream>
using namespace std;
const int N=1e5;
typedef long long LL;int n,k;
int h[N],w[N];
bool check(int mid)
{LL res=0;for(int i=0;i<n;i++){res+=(h[i]/mid)*(w[i]/mid);//得到的块数if(res>=k) return true;}return false;
}
int main()
{ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);cin>>n>>k;for(int i=0;i<n;i++){cin>>h[i]>>w[i];}int l=1,r=1e5;while(l<r)//二分算法{int mid=(l+r+1)>>1;if(check(mid)) l=mid;else r=mid-1;}cout<<r;return 0;}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/739271.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

部署zabbix6.0.27 执行 make install 报错

CentOS7 部署 zabbix6.0.27 执行 make install 报错 报错信息 [rootlocalhost zabbix-6.0.27]# make install /usr/bin/ld: warning: libssl.so.3, needed by /usr/local/mysql/lib/libmysqlclient.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: l…

EasyExcel导出自定义表格

谈到新技术&#xff0c;每个人都会有点恐惧&#xff0c;怕处理不好。确实&#xff0c;第一次使用新技术会遇到很多坑&#xff0c;这次使用 EasyExcel 这个新技术去做 excel 导出&#xff0c;还要给表格加样式&#xff0c;遇到不同的版本问题&#xff0c;遇到颜色加错了地方&…

pyside6 pytq PyDracula QVideoWidget视频只有声音没有画面

解决方案&#xff1a; 先不使用框架&#xff0c;纯pyside6代码&#xff0c;如果添加视频有画面有声音&#xff0c;那可以排除是硬件问题&#xff0c;如果没有画面只有声音&#xff0c;可能是视频解码器无法解码&#xff0c;换个格式的视频文件如果只有使用PyDracula 出问题&am…

web开发——前端html、css、JavaScript学习总结(持续更新中.......)

目录模版 1 html:结构标签/属性文本标记: mark文本设置:删除线del / 下划线ins/ 加粗b / 强调的文本em / 重要的文本 strong超链接: a联系信息: addressdiv 定义文档中的分区或节: div行元素:spanhtml结构: main / section / articlenav表格:table html中各种标签/属性的英文扩…

记一次寻找js来文件上传

edu教育证书站之路 0x01 信息收集 通过fofa&#xff0c;子域名收集等相关工具搜索域名 定位到站点&#xff1a;htps://xx..edu.cn/x/xx/ 0x02 寻找接口 通过f12寻找相关的js&#xff0c;发现有其他的页面 0x03 拼接路径 https://xx.xx.edu.cn/xx/xx/repairResgister 之后未授权…

主流接口测试框架对比

公司计划系统的开展接口自动化测试&#xff0c;需要我这边调研一下主流的接口测试框架给后端测试&#xff08;主要测试接口&#xff09;的同事介绍一下每个框架的特定和使用方式。后端同事根据他们接口的特点提出一下需求&#xff0c;看哪个框架更适合我们。 需求 1、接口编写…

亿道三防手持机丨安卓加固手持终端丨手持机PDA丨货物出入库

出入库管理是现代物流系统中的重要环节&#xff0c;涉及到货物的接收、分发、存储和追踪等方面。然而&#xff0c;在复杂的仓库环境中&#xff0c;传统的管理方法面临着很多困难和挑战&#xff0c;如手写记录容易出错、数据处理繁琐等。为了提高出入库管理的效率和准确性&#…

【新手适用】手把手教你从零开始实现一个基于Pytorch的卷积神经网络CNN一: 创建model模块和加载数据集

教程&#xff1a;j从零开始实现一个基于Pytorch的卷积神经网络 - 知乎 目录 网络结构 1 初始化 2 前向传播forward函数 2.1 forward函数定义 2.2 view函数和size函数 如何获取channels&#xff1f; 如何获取batchsize&#xff1f; 2.3 forward实现 2.4 main方法调用 模…

企业微信变更主体对用户有影响吗?

企业微信变更主体有什么作用&#xff1f;现在很多公司都用企业微信来加客户&#xff0c;有时候辛辛苦苦积累了很多客户&#xff0c;但是公司却因为各种各样的原因需要注销&#xff0c;那么就需要通过企业微信变更主体的方法&#xff0c;把企业微信绑定的公司更改为最新的。企业…

arduino 编程esp8266

概述&#xff1a; 1.wifi连接&#xff0c;扫描WiFi连接json序列化&#xff0c;http.get和http.post。 2.数据的存储和全局常量的flash定义。 3.文件的存储读写。 4.板子外设资源的访问&#xff1a;Libraries - Arduino Reference 注意&#xff1a;开发板未nodeMCU1.0(esp-12e)…

ISIS知识点【笔记】

isis配置 【Isis进程&#xff0c;Isis实体认证,Is-level&#xff0c;Isis接口开启功能&#xff1a;isis enable 1】 【Isis接口认证】 【49.0002.0000.0000.0004.00 前两段&#xff1a;区域ID。第三&#xff0c;四&#xff0c;五&#xff1a;主机ID。00&#xff…

Java后端八股------消息中间件篇

自动确认没收到&#xff0c;实现重复消费问题&#xff0c;可以用业务唯一标识来确定业务是否被消费。 TTL也就是超时时间&#xff0c;一般去dead letter的时间为min(消息的ttl,queue的ttl)。 acksall设置是最安全的&#xff0c;但是效率太低了&#xff0c;实际的生…

鲜花销售小程序|基于微信小程序的鲜花销售系统设计与实现(源码+数据库+文档)

鲜花销售小程序目录 目录 基于微信小程序的鲜花销售系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1前台功能模块 2、后台功能模块 1、管理员功能模块 四、数据库设计 1、实体ER图 2、具体的表设计如下所示&#xff1a; 五、核心代码 六、论文参考 七、…

Java开发从入门到精通(一):ZK 集群的部署

ZK 集群的部署 server.<节点ID>:<数据同步端口>:<选举端口> 节点 ID&#xff1a;为 1 到 125 之间的数字&#xff0c;写到对应服务节点的{dataDir}/myid 文件中。 IP 地址&#xff1a;节点的远程 IP 地址&#xff0c;可以相同&#xff0c;生产环境建议用不同…

突破编程_C++_设计模式(享元模式)

1 享元模式的基本概念 享元模式&#xff08;Flyweight Pattern&#xff09;是一种主要用于减少创建对象的数量&#xff0c;以减少内存占用和提高性能的设计模式。它通过使用共享对象来支持大量的细粒度对象&#xff0c;从而减少了内存占用。在享元模式中&#xff0c;有些对象可…

【io.net】问题汇总

【io.net】问题汇总 大家最近挖挖的如火如荼&#xff0c;可是不论是社区活动积分和参与挖矿积分&#xff0c;大家遇到了很多类似问题&#xff0c;重复解决。 因此我这里整理了一下常见的相关问题&#xff0c;大家可以一站式找到解决方案。解决方案主要分为运营和挖矿两个两面…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的障碍物检测系统(Python+PySide6界面+训练代码)

摘要&#xff1a;开发障碍物检测系统对于道路安全性具有关键作用。本篇博客详细介绍了如何运用深度学习构建一个障碍物检测系统&#xff0c;并提供了完整的实现代码。该系统基于强大的YOLOv8算法&#xff0c;并对比了YOLOv7、YOLOv6、YOLOv5&#xff0c;展示了不同模型间的性能…

如何解决由触发器导致 MySQL 内存溢出?

由触发器导致得 OOM 案例分析过程和解决方式。 作者&#xff1a;龚唐杰&#xff0c;爱可生 DBA 团队成员&#xff0c;主要负责 MySQL 技术支持&#xff0c;擅长 MySQL、PG、国产数据库。 爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&#xff0c;转载请联系小编…

JavaScript 面试题

问题 1 // 请解释下面代码的输出结果 console.log(1 "2" "2"); console.log(1 "2" "2"); console.log(1 -"1" "2"); console.log("A" - "B" "2"); console.log(&qu…

零基础学习JS--基础篇--使用对象

JavaScript 的设计是一个简单的基于对象的范式。一个对象就是一系列属性的集合&#xff0c;一个属性包含一个名和一个值。一个属性的值可以是函数&#xff0c;这种情况下属性也被称为方法。除了浏览器里面预定义的那些对象之外&#xff0c;你也可以定义你自己的对象。本章节讲述…