问题3230--小华吃糖果

3230: 小华吃糖果

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

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

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

  • 如果 x = y,那么两袋糖果都会被吃完;
  • 如果 x ≠ y,那么数量为 x 的袋子中的糖果会被全部吃掉,而数量为 y 的袋子中剩下没被吃的糖果数量为 yx
最后,最多只会剩下一袋糖果。输出小华能吃掉的糖果的最大的数量,如果不能吃掉一个糖果,输出 0
输入
输入一个整数 n ,即袋子数量。接下来一行输入 n 个整数 numsi 表示第 i 个袋子中糖果的数量。
其中1n103 ,nums102
输出
输出一个整数,即答案。
样例输入 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 。
来源/分类