#4393. 宝石变换(Changing Jewels)

宝石变换(Changing Jewels)

题目描述

小高有一个等级为 NN 的红宝石。(他没有其他宝石。)小高可以进行任意次以下操作:

  1. 将一个等级为 nn 的红宝石(nn 至少为 22)转换为"一个等级为 (n1)(n-1) 的红宝石和 XX 个等级为 nn 的蓝宝石"。

  2. 将一个等级为 nn 的蓝宝石(nn 至少为 22)转换为"一个等级为 (n1)(n-1) 的红宝石和 YY 个等级为 (n1)(n-1) 的蓝宝石"。

小高想要尽可能多的等级为 11 的蓝宝石。通过这些操作,他最多能获得多少个等级为 11 的蓝宝石?

输入格式

输入从标准输入中以下列格式给出:
N X YN \ X \ Y

输出格式

输出所求答案。

样例

2 3 4
12
1 5 5
0
10 5 5
3942349900

样例解释

【样例1说明】
小高可以通过以下转换获得 12 个等级为 1 的蓝宝石。

  • 首先,他将一个等级为 2 的红宝石转换为一个等级为 1 的红宝石和 3 个等级为 2 的蓝宝石。

    • 在这个操作之后,小高有 1 个等级为 1 的红宝石和 3 个等级为 2 的蓝宝石。
  • 接下来,他重复以下转换 3 次:将一个等级为 2 的蓝宝石转换为一个等级为 1 的红宝石和 4 个等级为 1 的蓝宝石。

    • 在这些操作之后,小高有 4 个等级为 1 的红宝石和 12 个等级为 1 的蓝宝石。
  • 他不能再进行任何转换了。

他无法获得超过 12 个等级为 1 的蓝宝石,所以答案是 12。

【样例2说明】
小高可能无法获得任何等级为 1 的蓝宝石。

【样例3说明】
注意答案可能不适合32位整数类型。

数据范围

  • 1N101 \leq N \leq 10
  • 1X51 \leq X \leq 5
  • 1Y51 \leq Y \leq 5
  • 所有输入值都是整数。

来源

  • AtCoder ABC260C