小塔有a个红砖、b个蓝砖和c个绿砖。每x个红砖可以合成1个蓝砖,每y个蓝砖可以合成1个绿砖。砖块只能正向合成,不能反向分解。 一套砖块包含1个红砖、1个蓝砖和1个绿砖。请计算小塔最多可以收集多少套砖块。
此题最简单的办法那就是直接二分,因为数据量有限,我们可以对答案进行二分,每次求出一个mid后,将大于mid的红砖和蓝砖全部合成,若最后三砖数量均大于等于mid,则将左端点置为mid,否则将右端点置为mid-1
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;