农夫约翰收到了一份牛奶订单,订购 单位的牛奶。
不幸的是,他的挤奶机刚刚坏掉了。
他只有三个桶,容积分别为 。
三个桶最初都是空的。
使用这三个桶,他可以执行以下两种类型的操作任意次数:
将最小的桶(容积为 的)装满牛奶,再将其中的牛奶全部倒入容积为
的桶中,前提是这不会导致容积为
的桶溢出牛奶。
将中号的桶(容积为 的)装满牛奶,再将其中的牛奶全部倒入容积为
的桶中,前提是这不会导致容积为
的桶溢出牛奶。
虽然,约翰意识到他可能无法装满容积为 的桶,但请帮助他确定他可以添加到这个桶中的最大牛奶量。
输入格式
共一行,包含三个整数 。
输出格式
输出约翰可以添加到容积为 的桶中的最大牛奶量。
数据范围
输入样例:
17 25 77
输出样例:
76
样例解释
在此样例中,约翰可将容积为 的桶装满
次倒入大桶中,将容积为
的桶装满
次倒入大桶中,总共添加了
单位牛奶。
using namespace std;
int main(){
int x, y, m;
cin >> x >> y >> m;
int res = 0;
for(int i = 0; i * x <= m; i++)
for(int j = 0; i * x + j * y <= m; j++){
res = max(res, i * x + j * y);
}
cout << res <<endl;
return 0;
}