#HK4849. 「POI 2021/2022 R2」Armia klonów

「POI 2021/2022 R2」Armia klonów

题目描述

题目译自 XXIX Olimpiada Informatyczna – II etap Armia klonów

Bajtazar 是字节共和国的将军,他正面临着新的挑战。据情报部门报告,敌对的比特联邦即将对共和国发动攻击。形势看似危急,因为比特联邦的强大军队拥有 nn 台战斗机器人,而字节共和国只有一台机器人。好在 Bajtazar 最近购买了一台高效且精准的 3D 打印机。这台机器可以扫描并将整个字节军队存入内置内存(无论军队规模大小,这一操作始终需要 aa 小时);它还能打印内存中的内容,每次打印固定需要 bb 小时。一次扫描后,可以进行多次打印。

现在,Bajtazar 想知道,他需要多少时间才能让自己的军队数量(包括最初的那台机器人)超过比特联邦的军队规模。请你帮助他解决这个问题。

输入格式

输入只有一行,包含三个整数 n,a,bn, a, b (1n1018,1a,b109)(1 \leq n \leq 10^{18}, 1 \leq a, b \leq 10^{9}),分别表示比特联邦军队的规模以及 Bajtazar 打印机的扫描和打印参数。

输出格式

输出只有一行,包含一个整数 tt,表示打印至少 nn 台新机器人所需的最短小时数。

8 2 1

8

要让军队总数达到至少 99 台,需要 88 小时。首先,扫描一台机器人需要 22 小时。接着,进行两次内存打印,每次 11 小时,共 22 小时,此时军队规模增至 33 台。然后,再次扫描整个军队(33 台),需要 22 小时,再进行两次打印,共 22 小时,最终军队规模达到 99 台。经过 88 小时,共制造了 88 台新机器人,此时打印机内存中存储的是 33 台机器人的扫描数据。

样例 2

见附加文件下 [arm1.in](file:arm1.in) 和 [arm1.out](file:arm1.out)。

该样例满足 n=100,a=1,b=1n=100, a=1, b=1

样例 3

见附加文件下 [arm2.in](file:arm2.in) 和 [arm2.out](file:arm2.out)。

该样例满足 n=1000000,a=100,b=1n=1000000, a=100, b=1

样例 4

见附加文件下 [arm3.in](file:arm3.in) 和 [arm3.out](file:arm3.out)。

该样例满足 n=10181,a=7654321,b=1234567n=10^{18}-1, a=7654321, b=1234567

样例 5

见附加文件下 [arm4.in](file:arm4.in) 和 [arm4.out](file:arm4.out)。

该样例满足 n=1018,a=3109,b=109n=10^{18}, a=3 \cdot 10^{9}, b=10^{9}

数据范围与提示

详细子任务附加限制及分值如下表所示。

子任务编号 附加限制 分值
11 a=b=1a=b=1 1010
22 n1000n \leq 1000 4040
33 n100000n \leq 100000 1515
44 n109n \leq 10^{9} 1515
55 无附加限制 2020