首页 > 其他分享 >Magic Powder - 2 题解

Magic Powder - 2 题解

时间:2023-02-14 17:35:46浏览次数:56  
标签:Magic 题解 mid long 食材 曲奇 Powder ans

更好的阅读体验

1. 题意

题目大意就是一块曲奇饼干需要 \(n\) 种食材,第 \(i\) 种需要 \(a_i\) 克,而你手中有这种食材 \(b_i\) 克,还有另外 \(k\) 克食材每一克可以代替任何一种食材一克,求最多能做多少块曲奇。

2.思路

由于食材数量是固定的,那么肯定存在一个 \(mid\),使得食材能够烘焙出 \(1 \sim mid\) 块曲奇,而不能烘焙出 \(mid\) 以上块曲奇。我们只需要二分寻找出 \(mid\) 即可。

#include <bits/stdc++.h>
using namespace std;
int a[100001], b[100001];
long long n, k, l, r, ans;
bool check(long long mid)
{
    long long sum = 0;
    for (long long i = 1; i <= n; i ++)
	{
        if (b[i] < a[i] * mid) sum += a[i] * mid - b[i];
        if (sum > k) return false;
    }
    if (sum <= k) return true;
    return false;
}
int main()
{
	scanf("%d%d", &n, &k);
	for (int i = 1; i <= n; i ++) scanf("%d", &a[i]);
	for (int i = 1; i <= n; i ++) scanf("%d", &b[i]);
	l = 0, r = 2e9;
	while (l <= r)
	{
		long long mid = l + r >> 1;
		if (check(mid)) {l = mid + 1; ans = mid;}
		else r = mid - 1;
	}
	printf("%lld", ans);
}

标签:Magic,题解,mid,long,食材,曲奇,Powder,ans
From: https://www.cnblogs.com/tongyuxin/p/17120294.html

相关文章

  • Rescheduling the Exam 题解
    题意:题意简单明了,就不多赘述了。解题方法:这道题我们要考虑贪心。由于我们只有一次修改\(a_i\)的机会,所以我们修改的值一定是产生最小距离的两个相邻的点之中修改。那......
  • F1 Champions 题解
    题意已知\(n\)场比赛前\(m\)名的名字,每场比赛前\(10\)名各有不同的分数,求以下两种排名方法排名第一的人的名字。按照分数排序,若分数相同,第\(1\)次数多的优先,若......
  • Social Network 题解
    题意:题目翻译是有问题的,题目的真正意思其实是\(∀i∈[1,d]\),求在满足\([1,i]\)的规定的前提下恰好连\(i\)条边的无向图中度数最大联通块的大小减\(1\)。思路考虑......
  • P8827 [传智杯 #3 初赛] 森林 题解
    题意有一颗树,每个点有一个点权\(v\)。现在要对这棵树进行\(m\)次以下三种操作之一:删除一条边。修改一个点的点权。查询一个点\(u\)所在的树的点权之和。......
  • lg8365题解
    容易发现我们一定会先加后乘,使用调整法可以证明这个结论。并且可以发现除了\(a_i\)值为\(1\)的数外(假设他们的\(a\)值和为\(s\)),其他的数最多只会选\(1\)个做加法操作(设如......
  • Vue项目在ie浏览器中显示空白的兼容性问题解决
    问题:在ie浏览器中页面报错:SCRIPT5022:SecurityError小编也不知道原因是什么,小编是尝试了以下几种方式才显示出来,这里建议大家试试看。1、下载软件包:@babel/polyfill执......
  • elementUI的table表格改变数据不更新问题解决
    问题原因:在Vue实例创建时,以及data赋值时editable并未声明,因此就没有被Vue转换为响应式的属性,自然就不会触发视图的更新。解决方案:1、给data赋值前把editable属......
  • C++奥赛一本通递推题解
    title:C++奥赛一本通刷题记录(递推)date:2017-11-08tags:一本通openjudegecategories:OIC++奥赛一本通刷题记录(递推)2017.11.8Bygwj1139177410斐波那契数列​​op......
  • C++奥赛一本通排序题解
    title:C++奥赛一本通刷题记录(排序)date:2017-11-16tags:一本通openjudegecategories:OIC++奥赛一本通刷题记录(排序)2017.11.16Bygwj1139177410都是拿STL水的…别......
  • C++奥赛一本通刷题高精度题解
    title:C++奥赛一本通刷题记录(高精度)date:2017-11-15tags:一本通openjudegecategories:OIC++奥赛一本通刷题记录(高精度)2017.11.15Bygwj1139177410大整数加法​......