题目:

小蓝有一个神奇的炉子

用于将普通金属 O 冶炼成为一种特殊金属 XX。

这个炉子有一个称作转换率的属性 V,V是一个正整数,这意味着消耗 V个普通金属 O恰好可以冶炼出一个特殊金属 X,当普通金属 O的数目不足 V 时,无法继续冶炼。

现在给出了 N条冶炼记录,每条记录中包含两个整数 A和 B,这表示本次投入了 A个普通金属 O,最终冶炼出了 B 个特殊金属 X。

每条记录都是独立的,这意味着上一次没消耗完的普通金属 O不会累加到下一次的冶炼当中。

根据这 N条冶炼记录,请你推测出转换率 VV 的最小值和最大值分别可能是多少,题目保证评测数据不存在无解的情况

输入格式

第一行一个整数 N,表示冶炼记录的数目。

接下来输入 N 行,每行两个整数 A、B,A、B,含义如题目所述。

输出格式

输出两个整数,分别表示 VV 可能的最小值和最大值,中间用空格分开。

数据范围

对于 30%30% 的评测用例,1≤N≤10^2。
对于 60%60% 的评测用例,1≤N≤10^3。
对于 100%100% 的评测用例,1≤N≤10^4,1≤B≤A≤10^9。

输入样例:

3
75 3
53 2
59 2

输出样例:

20 25
//代码是yxc写的
//二分 O(nlogn)
#include <iostream>
#include <cstring>
#include <algorithm>using namespace std;int get(int a, int b)
{int l = 1, r = 1e9 + 1;while (l < r){int mid = l + r >> 1;if (a / mid <= b) r = mid;else l = mid + 1;}return r;
}int main()
{int n;scanf("%d", &n);int v_min = 1, v_max = 1e9;while (n -- ){int a, b;scanf("%d%d", &a, &b);v_min = max(v_min, get(a, b));v_max = min(v_max, get(a, b - 1) - 1);}printf("%d %d\n", v_min, v_max);return 0;
}//整除性质,公式解法 O(n)
include <iostream>
#include <cstring>
#include <algorithm>using namespace std;int main()
{int n;scanf("%d", &n);int v_min = 1, v_max = 1e9;while (n -- ){int a, b;scanf("%d%d", &a, &b);v_min = max(v_min, a / (b + 1) + 1);v_max = min(v_max, a / b);}printf("%d %d\n", v_min, v_max);return 0;
}/**
套用别人的解释:
假设需要k个原材料才可以生产出一个产物,就是说需要k个O才能得到一个X
如果k太大了,就会导致不够,k太小的就会导致生产变多,所以要对于一个炉子来说,可能的情况就是往这两个的极限逼近
先解释maxx,k最多为a/b,如果k再大了就不够了,然后对每一个炉子的最大值取min
再解释minx,如果k太小的话,就会生产出b+1个,所以就算一下产出b+1个时的k值,然后对这个值+1使得他不足以生成b+1个,又是逼近b+1个。用数学的形式表达就是,1/k为斜率,直线过原点,横坐标为a的时候,纵坐标介于b+1和b-1直接,求k的值
*/

【ACWing 每日一练之冶炼金属】相关推荐

  1. AcWing 4956. 冶炼金属

    4956. 冶炼金属 - AcWing题库  [二分]B = A / V ,当 A 固定的时候 B 会随着 V 增大而减小,所以是有单调性的.因此我们可以把 V 根据 A / V 和 B 的大小关系分 ...

  2. 热电阻 热电偶 测量电路_每日一练#运放在热电阻测量电路中的应用

    每日一练 为鼓励大家动手动脑,早日成为技术大牛.电路城论坛现在推出#每日一练#栏目,由版块版主出题及提供答案,内容涉及电源,射频,单片机等各种技术话题.我们会在周一至周五的早上10:30更新问题和前天 ...

  3. Python每日一练0023

    问题 如何判断一个文件是否存在 解决方案 这个问题可以分成几类问题 如果这里的文件指的是文件或目录,我们可以用os.path.exists()方法 >>> import os > ...

  4. WindowsAPI每日一练(2) 使用应用程序句柄

    WindowsAPI每日一练系列 :https://www.cnblogs.com/LexMoon/category/1246238.htmlWindowsAPI每日一练(1) WinMain Win ...

  5. python题目关于企业利润_【每日一练】巧用python实现利润计算

    原标题:[每日一练]巧用python实现利润计算 相信很多小伙伴都遇到过阶梯利率的问题,比如说银行的利息计算,不同阶段的本金有不同的利率:税务的税费计算,不同的营收有不同的缴纳率:个人的提成,不同的销 ...

  6. Python每日一练0004

    问题 如何保存迭代对象的最后N个元素 例如保存列表['a', 'b', 'c', 'd']的最后2个元素 或者保存某个迭代器对象的最后5个元素 解决方案 对于列表.元组这样的数据结构,可以使用切片来很 ...

  7. python 编程一日一练-python每日一练

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 过滤掉列表中的负数 筛选出字典{lilei: 79,jim: 88,lu ...

  8. python 编程一日一练-「每日一练」巧用python生成随机数

    原标题:「每日一练」巧用python生成随机数 随机数在我们的生产和生活中有很多的应用场景,比如说登录验证的随机数字等等,那么你知道在Python中怎么生成随机数吗? 往下看,就是这么简单! 题目 p ...

  9. python输出乘法口诀-【每日一练】python输出 9*9 乘法口诀表

    原标题:[每日一练]python输出 9*9 乘法口诀表 无论学哪种程序,哪一门语言都对输出9*9 乘法口诀表情有独钟,记得学VB的时候,需要好长一段代码才实现,那么你知道用Python输出,需要几行 ...

最新文章

  1. GitHub年度报告:中国开源贡献仅次美国、Python成第二热门语言
  2. 将Asp.Net页面输出到EXCEL里去
  3. mysql开启慢查询方法(转)
  4. 佳能打印机ip90 64位系统的驱动_佳能打印机如何安装 佳能打印机漏墨如何解决【详解】...
  5. 成立一年 百度搜索公司迎来首任 CTO
  6. idea中springBoot项目修改html之类的文件后服务不自动更新
  7. Python数据分析(二):DataFrame基本操作
  8. kettle资源库总是断开
  9. 实战!使用Docker安装OnlyOffice
  10. Django DTL模板使用
  11. 【成本收集器】目标成本与实际成本差异分析
  12. [转载]集成电路芯片IC封装技术的发展
  13. FastICA算法类有哪些最新发表的毕业论文呢?
  14. Spark SQL 快速入门系列(五)SparkSQL 访问 Hive
  15. kafka的Rebalance问题分析(续)
  16. python中geometry_python arcgis Geometry
  17. jenkins + Gitlab + dingding 钉钉通知
  18. 【揭秘】过于真实,培训机构那些不为人知的秘密(一)
  19. 基于大数据的智慧城市环境气候图
  20. 解决win10系统无法打开截图工具

热门文章

  1. Python图像的二值化
  2. HangMan 猜单词 一个简易的吊死鬼游戏 python版
  3. EXCEL加法公式有问题
  4. 谁能进图书馆 (python版)
  5. java中统计英文单词数_统计单词数 Java
  6. SQLmap安装 for Mac
  7. 如何从零开始自学前端
  8. 4.intermediate-specialAttr
  9. 软件版本号设置规则及示例
  10. 数字图像处理及图像频域