编程题
### 问题描述 在取经的悠悠长途中,孙悟空饱经无数艰难困阻。在一回与妖怪的激烈拼杀过后,孙悟空身负重伤,法力锐减。 恰在此时,他听闻在一处神秘的幽谷里,生长着 $n$ 株奇异的灵花,其中第 $i$ 株灵花蕴含着 $a_i$ 份神奇的灵力。据说,若是获取这些灵力,便能迅速恢复伤势并增强自身的法力。 然而,不知怎的,这一消息竟被六耳猕猴获悉。六耳猕猴向来对孙悟空的本领和地位心怀觊觎,于是他决定跟随孙悟空,一同赶赴幽谷,争抢灵花的灵力。 因幽谷禁止争斗,所以在夺取灵花灵力时,他们商定了以下规则: 双方轮流行动。孙悟空享有优先行动权。一旦幽谷中再无灵花,争夺便宣告终止。每次行动时,可以选取一株灵花。设该灵花的灵力数量为 $A$: 1. 若 $A \leq k$,行动者能够将所有灵力吸纳。 2. 若 $A > k$,行动者需要将这株灵花拆分为两株灵花并重新放回幽谷,其中一株包含 $x$($1 \leq x \leq A - 1$)点灵力,另一株包含 $A - x$ 点灵力。 孙悟空和六耳猕猴都企图通过最为理想的选取策略,让自己吸纳到的灵力总数达到最大。那么,请问孙悟空能够吸纳的最大灵力总数是多少呢? ### 输入格式 第一行包含两个整数 $n$($1\leq n \leq 10^5$)和 $k$($1\leq k \leq 10^9$),分别表示灵花的数量和一次行动可吸纳的灵力上限。 第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$($1\leq a_i \leq 10^9$),分别表示每株灵花所蕴含的灵力。 ### 输出格式 输出一个整数,表示孙悟空能够吸纳的最大灵力总数。 ### 样例输入 ```text 3 3 2 2 5 ``` ### 样例输出 ```text 4 ``` ### 样例说明 对孙悟空而言,一种最优的吸纳过程如下: - 孙悟空选择第 $1$ 株灵花,吸纳 $2$ 点灵力。 - 六耳猕猴选择第 $2$ 株灵花,吸纳 $2$ 点灵力。 - 孙悟空选择第 $3$ 株灵花,并将灵花拆分为两株新的灵花,一株包含 $2$ 点灵力,一株包含 $3$ 点灵力。 - 六耳猕猴选择包含 $3$ 点灵力的灵花。 - 孙悟空选择包含 $2$ 点灵力的灵花。 因此,孙悟空能够吸纳的灵力总数的最大值为 $2 + 2 = 4$。
查看答案
赣ICP备20007335号-2