#P40005. 2019 ICPC NCNA Regional Contest F - Pulling Their Weight

2019 ICPC NCNA Regional Contest F - Pulling Their Weight

题目描述

image.png

To save money, Santa Claus has started hiring other animals besides reindeer to pull his sleigh via short term `gig' contracts. As a result, the actual animals that show up to pull his sleigh for any given trip can vary greatly in size.

Last week he had 22 buffalo, 3737 voles and a schnauzer. Unfortunately, both buffalo were hitched on the left side and the entire sleigh flipped over in mid-flight due to the weight imbalance.

To prevent such accidents in the future, Santa needs to divide the animals for a given trip into two groups such that the sum of the weights of all animals in one group equals the sum of the weights of all animals in the other. To make the hitching process efficient, Santa is seeking an integer target weight tt such that all animals that are lighter than tt go in one group and those heavier than tt go into the other. If there are multiple such tt, he wants the smallest one. There's one small wrinkle: what should be done if there some animals have weight exactly equal to tt? Santa solves the problem this way: if there are an even number of such animals, he divides them equally among the two groups (thus distributing the weight evenly). But if there are an odd number of such animals, then one of those animals is sent to work with the elves to make toys (it is not put in either group), and the remaining (now an even number) are divided evenly among the two groups.

输入格式

Input describes a list of animals' weights. The first line contains an integer mm (2m1052 \le m \le 10^5), indicating the number of animals. The next mm lines each have a positive integer. These are the weights of the animals (in ounces). Animals weighing more than 2000020\,000 ounces are too big to pull the sleigh so no given weight will exceed this maximum.

输出格式

Output the smallest integer target weight tt, as described above. It's guaranteed that it is possible to find such an integer.

样例

输入样例1

4
3
6
1
2

输出样例1

4

输入样例2

4
11
8
3
10

输出样例2

10

输入样例3

2
99
99

输出样例3

99