codeforces670D2 Magic Powder - 2 (二分)
来源:互联网 发布:淘宝多琳香水是正品么 编辑:程序博客网 时间:2024/06/18 05:04
题目链接 http://codeforces.com/problemset/problem/670/D2
题目大意:就是制作一个蛋糕需要n种材料,然后你有k克魔法粉,每克魔法粉可以代替任意一克的材料,ai代表制作一个蛋糕需要第i种材料多少克,bi代表你拥有第i个材料多少克,问做多可以做多少个蛋糕。
思路:二分查找可以制作多少个蛋糕,假如可以制作,那么每一种材料都必须充足。
直接上代码:
#include <bits/stdc++.h> using namespace std; __int64 a[111111],b[111111]; const int maxn= 2 * 1e9 + 2; //最多可以做这么多个蛋糕 __int64 n,k; __int64 search(__int64 l,__int64 r) { __int64 mid,sum; while(l <= r) { mid = ( l + r) / 2 ,sum = 0; for (int i = 0 ; i < n ; i++ ) //遍历每种材料是否满足 { sum += a[i] * mid - b[i] > 0 ? a[i] * mid - b[i] : 0 ; if( sum > k) break; } if(sum == k) return mid; else if(sum < k) l = mid + 1; else r = mid - 1; } return r; } int main() { while (~scanf("%I64d %I64d",&n,&k)) { for (int i = 0 ; i < n ; i++) { scanf("%I64d",&a[i]); } for (int i = 0 ; i < n ; i++ ) { scanf("%I64d",&b[i]); } printf("%I64d\n",search(1,maxn)); } return 0; }
0 0
- codeforces670D2 Magic Powder - 2 (二分)
- D2. Magic Powder - 2
- Magic Powder - 2
- Magic Powder - 2
- Codeforces Round #350 (Div. 2) D2 Magic Powder - 2【二分】
- Codeforces Round #350 (Div. 2) D2. Magic Powder - 2 【二分】
- CodeForces 670D2 Magic Powder - 2(二分+贪心)
- Codeforces 670D2 Magic Powder - 2 二分答案
- CodeForces - 670D2 Magic Powder - 2 (二分&模拟)
- cf 670D2 Magic Powder - 2 二分裸题
- 【CodeForces】670D2 - Magic Powder - 2(二分)
- codeforces 350 div2 D Magic Powder - 2 二分
- CodeForces 670D Magic Powder - 2 (二分)
- Codeforces 670D2:Magic Powder - 2(二分)
- Codeforces Round #350 (Div. 2) D Magic Powder (二分)
- Magic Powder
- Magic Powder
- Magic Powder
- 【U3D】后期渲染性能优化之---减少Draw Calls的调用
- 模拟实训strstr,strrstr
- 虚拟机+CentOS内核hack7、8、9、17失败记
- Android Studio疑难杂症解决方案o( ̄ヘ ̄o#)
- java.util.concurrent.CountDownLatch的使用(转)
- codeforces670D2 Magic Powder - 2 (二分)
- JAVA语言之选择排序
- C#二十五 连接式访问数据库
- linux守护进程
- myaql存储引擎
- ubuntu 编译vlc android 总结
- 接口与抽象类区别
- poj之旅——3009
- FFT/NTT做题方法与调试技巧(+提高码题效率的一些想法)