令 X=2A2−A1−A3X=2A_2-A_1-A_3X=2A2−A1−A3,目标就是让 XXX 变成 000。
给 A1A_1A1 或 A3A_3A3 加一会让 XXX 减一,给 A2A_2A2 加一会让 XXX 加二。若 X≥0X\ge0X≥0,直接对两端共增加 XXX 次即可。若 X<0X<0X<0,设给中项增加 kkk 次,则至少要令 X+2k≥0X+2k\ge0X+2k≥0,最小的 kkk 为 ⌈−X/2⌉\lceil -X/2\rceil⌈−X/2⌉;之后再对两端共增加 X+2kX+2kX+2k 次。因此答案为 X+3kX+3kX+3k。
只需进行常数次 64 位整数运算,时间复杂度和额外空间复杂度均为 O(1)O(1)O(1)。
注册一个 Hydro 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。
使用您的 Hydro 通用账户