luogu#P16806. [蓝桥杯 2026 国 Python A] 糖分极限

[蓝桥杯 2026 国 Python A] 糖分极限

题目描述

程序员小蓝要在今晚重构一个复杂的项目。由于工作强度极高,他需要通过摄入糖分来补充能量,以维持大脑的高速运转。

然而,根据年初体检的报告,小蓝身体的糖分耐受极限为 NN 克。一旦体内的糖分超过这个界限,他就会因为血糖过高瞬间昏睡。

起初,小蓝体内的糖分为 00 克。

公司有两种无限供应的甜品:

  1. 甜甜圈:每吃一个,体内的糖分增加 aa 克。
  2. 冰可乐:每喝一罐,体内的糖分增加 bb 克。

为了能够安全地摄入更多能量,小蓝在整个重构过程中,可以进行一次开合跳来消耗糖分(最多进行一次),这会立即使他当前体内的糖分减少一半。如果减半后的值不是整数,则直接舍弃小数部分(即向下取整,例如 55 克减半后变为 22 克)。

整个操作过程中,任意时刻小蓝体内的糖分都不得超过耐受极限 NN 克。

现在请你帮小蓝计算,在满足上述安全限制的前提下,他最多能让自己体内的糖分达到多少克?

输入格式

输入一行,包含三个用空格隔开的正整数 NNaabb,分别表示小蓝身体的糖分耐受极限、食用一个甜甜圈所增加的糖分以及饮用一罐冰可乐所增加的糖分(单位:克)。

输出格式

输出一个整数,表示小蓝在安全范围内能够达到的最大糖分含量(单位:克)。

8 5 6
8

提示

【样例说明】

小蓝可以进行如下操作:

  1. 吃一个甜甜圈,体内糖分达到 55 克。
  2. 做一次开合跳,体内糖分瞬间减半,变为 22 克。
  3. 喝一罐冰可乐,体内糖分增加 66 克,达到 88 克。

此时正好达到耐受极限 88,无法再进一步提高,因此输出 88

【评测用例规模与约定】

对于 30%30\% 的评测用例,1N5001 \le N \le 500

对于所有评测用例,1N1061 \le N \le 10^6, 1a,bN1 \le a, b \le N