题目:

题目描述

儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。
小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。

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

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

例如一块6x5的巧克力可以切出6块2x2的巧克力或者2块3x3的巧克力。

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

输入

第一行包含两个整数N和K。(1 <= N, K <= 100000)
以下N行每行包含两个整数Hi和Wi。(1 <= Hi, Wi <= 100000)
输入保证每位小朋友至少能获得一块1x1的巧克力。

输出

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

样例输入

2 10
6 5
5 6

样例输出

2

分析:

碰到了二分,就来总一下版子,简单题,在这不做赘述。

AC代码:

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
const int M=1e5+10;
int n,m,num,ans;
int a[M],b[M];
int main()
{ans=0;scanf("%d%d",&n,&m);for(int i=0; i<n; i++){scanf("%d%d",&a[i],&b[i]);}int l=1,r=M,k,mod;while(r-l>1)     //第一种二分模板{num=0;mod=(l+r)>>1;for(int i=0; i<n; i++){num+=(a[i]/mod)*(b[i]/mod);}if(num<m)r=mod;if(num>=m)l=mod;}/**while(l<=r)    //第二种二分模板{num=0;mod=(l+r)>>1;for(int i=0; i<n; i++){num+=(a[i]/mod)*(b[i]/mod);}if(num<m)r=mod-1;if(num>=m){l=mod+1;k=mod;}}*//** while(l<r)         //第三种二分模板{num=0;mod=(l+r)>>1;for(int i=0; i<n; i++){num+=(a[i]/mod)*(b[i]/mod);}if(num<m)r=mod;if(num>=m){l=mod+1;k=mod;}}*/printf("%d\n",k);return 0;
}

题目 1885: [蓝桥杯][2017年第八届真题]分巧克力+二分相关推荐

  1. 题目 1878: 蓝桥杯2017年第八届真题-青蛙跳杯子

    题目 X星球的流行宠物是青蛙,一般有两种颜色:白色和黑色. X星球的居民喜欢把它们放在一排茶杯里,这样可以观察它们跳来跳去. 如下图,有一排杯子,左边的一个是空着的,右边的杯子,每个里边有一只青蛙. ...

  2. 题目 1886: 蓝桥杯2017年第八届真题-包子凑数

    时间限制: 1Sec 内存限制: 128MB 提交: 2378 解决: 789 题目描述 小明几乎每天早晨都会在一家包子铺吃早餐.他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子.每种蒸笼 ...

  3. 题目 1886: [蓝桥杯][2017年第八届真题]包子凑数(欧几里得+完全背包)

    题目: 时间限制: 1Sec 内存限制: 128MB 提交: 1049 解决: 365 题目描述 小明几乎每天早晨都会在一家包子铺吃早餐.他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子. ...

  4. [蓝桥杯][2017年第八届真题]分考场(dfs+剪枝)

    题目描述 n个人参加某项特殊考试. 为了公平,要求任何两个认识的人不能分在同一个考场. 求是少需要分几个考场才能满足条件. 输入 第一行,一个整数n(1<n<100),表示参加考试的人数. ...

  5. [蓝桥杯][2017年第八届真题]包子凑数(解题报告)

    问题 1886: [蓝桥杯][2017年第八届真题]包子凑数 时间限制: 1Sec 内存限制: 128MB 提交: 406 解决: 118 题目描述 小明几乎每天早晨都会在一家包子铺吃早餐.他发现这家 ...

  6. [蓝桥杯][2017年第八届真题]小数第n位(数学)

    题目描述 我们知道,整数做除法时,有时得到有限小数,有时得到无限循环小数. 如果我们把有限小数的末尾加上无限多个0,它们就有了统一的形式. 本题的任务是:在上面的约定下,求整数除法小数点后的第n位开始 ...

  7. [蓝桥杯][2017年第八届真题]小计算器(模拟)

    题目描述 模拟程序型计算器,依次输入指令,可能包含的指令有 数字:'NUM X',X为一个只包含大写字母和数字的字符串,表示一个当前进制的数 运算指令:'ADD','SUB','MUL','DIV', ...

  8. [蓝桥杯][2017年第八届真题]合根植物

    题目描述 w星球的一个种植园,被分成 m * n 个小格子(东西方向m行,南北方向n列).每个格子里种了一株合根植物. 这种植物有个特点,它的根可能会沿着南北或东西方向伸展,从而与另一个格子的植物合成 ...

  9. [蓝桥杯][2017年第八届真题]拉马车(String)

    题目描述 小的时候,你玩过纸牌游戏吗? 有一种叫做"拉马车"的游戏,规则很简单,却很吸引小朋友. 其规则简述如下: 假设参加游戏的小朋友是A和B,游戏开始的时候,他们得到的随机的纸 ...

最新文章

  1. 工作如果没有方法,光靠苦力是不行的
  2. CCIE-LAB-第十六篇-NAT+OSPF下发默认路由+校验配置(模块一结束篇章)
  3. java dumpstack_Java获取执行进程的dump文件及获取Java stack
  4. 第4章 同余问题《信息学奥赛一本通 提高篇》
  5. C++语言程序设计第五版 - 郑莉-绪论(一)
  6. 入党对程序员有什么用_为什么程序员都喜欢用两个大屏显示器?网友:一个复制一个粘贴...
  7. 【c++leetcode】翻转链表
  8. 大年初一连夜带娃改bug:CTO把代码写成这鬼样子,被害惨了!
  9. 纪念自己初中的住宿生活
  10. 新电商正面迎战“阅读焦虑”
  11. css里面li标签怎么加图片_css怎么设置li标签的样式?
  12. 看不到同一个网络下的其他计算机,看不到局域网其他计算机怎么办
  13. 关于async await 等任务队列插话
  14. Linux----putty下载安装教程
  15. CCT Camera Tuning
  16. Python学习笔记(四)----Pywin32+Pyinstaller制作windows软件
  17. 创业记[01]三人行,初创的激情
  18. matlab验证线性卷积与圆周卷积的关系
  19. 2022“杭电杯”中国大学生算法设计超级联赛(8)
  20. 大学三年积累的教学资源分享和推荐!

热门文章

  1. C语言试题四之计算并输出3到n之间所有素数的平方根之和
  2. linux c之用命名管道实现进程通信
  3. Android之Launcher分析和修改2——Icon修改、界面布局调整、壁纸设置
  4. import 别名_Python基础找茬系列09--import和from-import的引用区别
  5. java中find方法_Java Document.find方法代码示例
  6. 最高调恋爱方式,简直“公开处刑”......
  7. 970页绝版资料!初高中数学与竞赛知识点+方法技巧,由苏步青当顾问,众多一线名师共同编写!...
  8. 女生的拳头有多厉害?
  9. 全球科技界最鼓舞人心领袖揭晓!马斯克第一,马云第五
  10. 每日一笑 | 男朋友整天沉迷游戏怎么办...?