古代集市上,有一个卖油翁,他有一个装满油的油桶,容量为 c 升。同时,他还有两个空油壶,容量分别为 a 升和 b 升, 且 a≤b≤c。
现在,卖油翁想通过倒油,使得其中任意一个容器(可以是油桶或油壶)中恰好装有 1 升油。
但倒油的过程必须遵循以下规则:
每次只能将一个容器中的油倒入另一个容器。
倒油时,要么将倒出的容器倒空,要么将倒入的容器倒满,两者必居其一。
油不会洒漏,也不会凭空增加或减少。
如果无论如何也无法恰好得到 1 升油,那么他希望某个容器中剩余的油量尽可能少(但不能为空)。
请你帮他计算出,在最优操作下,某个容器中能留下的最少油量,以及达到该油量所需的最少倒油次数。
第一行:三个整数 a,b,c,分别表示两个油壶和油桶的容量。
第一行:一个整数,表示某个容器中能留下的最少油量。
第二行:一个整数,表示达到该油量所需的最少倒油次数。
2 3 5
1 2
3 5 8
1 4
105 147 252
21 8
说明
样例1解释
初始状态为 (0, 0, 5),括号内分别表示 (壶a, 壶b, 桶c) 的油量。
将桶中的油倒入壶 b:(0, 3, 2);
将壶 b 中的油倒入壶 a:(2, 1, 2)。
此时壶 b 中剩余 1 升,总步数为 2。
数据规模
对于 30% 的数据:1≤a≤b≤c≤10。
对于 50% 的数据:1≤a≤b≤c≤200。
对于 100% 的数据:1≤a≤b≤c≤5000。
| 时间限制 | 1 秒 |
| 内存限制 | 128 MB |