问题 B: 小华吃糖果

问题 B: 小华吃糖果

时间限制: 1Sec 内存限制:128 MB
提交:199 解决:15
[ 状态] [ 讨论版] [ 提交] [命题人: ]
题目描述

小华有一堆装有糖果的袋子,用整数数组nums表示。其中numsi表示第i个袋子中糖果的数量。小华在吃糖果时有个奇怪的癖好:每次都必须选择两袋糖果,并分从两个袋子中拿出数量相同且最多数量的糖果吃掉。

具体来说,每一回合,小华从所有袋子中选出任意两袋糖果,然后从中拿出一些糖果并吃掉。假设两个袋子中糖果的数量分别为xy,且xy。那么所吃糖果的可能结果如下:

  • 如果x= y,那么两袋糖果都会被吃完;
  • 如果x ≠ y,那么数量为x的袋子中的糖果会被全部吃掉,而数量为y的袋子中剩下没被吃的糖果数量为yx
最后,最多只会剩下一袋糖果。输出小华能吃掉的糖果的最大的数量,如果不能吃掉一个糖果,输出 0
输入
输入一个整数 n ,即袋子数量。接下来一行输入 n 个整数 numsi 表示第 i 个袋子中糖果的数量。
其中1n103,numsi102
输出
输出一个整数,即答案。
样例输入 Copy
6 2 7 4 1 8 1
样例输出 Copy
22
提示
对于样例,
选择 2 4 ,剩下 2 ,剩下糖果数量为 [2,7,1,8,1]
选择 7 8 ,剩下 1 ,剩下糖果数量为 [2,1,1,1]
选择 2 1 ,剩下 1 ,剩下糖果数量为 [1,1,1]
选择 1 1 ,剩下 0 ,剩下糖果数量为 [1]
即最后最少只剩下一个糖果,所以答案为 22