有 n 名战士,第 i 名战士有一个武力值 a i 。
这些战士要通过进行 n − 1 轮决斗来决出最强的战士。如果 i 和 j 进行了决斗且 a i < a j ,那么 i
会消失,j 的武力值会变成
(a i+a j)/2
。若两名战士武力值相同,那么编号小的会消失。
你想让最后剩下的战士武力值尽可能高。求可能的最大武力值。
Input
第一行一个整数 n。
接下来一行 n 个整数,表示每一个战士的武力值。
Output
一行一个整数,表示可能的最大武力值。
Examples
fight-sample0.in fight-sample0.out
6
4 3 2 5 3 5
4
样例解释:
首先让武力值为 2 和 4 的战士决斗,则序列变为 {3,3,5,3,5};
让武力值为 3 和 3 的战士决斗,则序列变为 {3,5,3,5};
让武力值为 3 和 5 的战士进行两轮决斗,则序列变为 {4,4};
让最后两个战士进行决斗,则序列变为 {4}。
Notes
数据规模与约定:
对于 20% 的数据,保证 1 ≤ n ≤ 5;
对于 40% 的数据,保证 1 ≤ n ≤ 100;
对于另外 20% 的数据,保证 1 ≤ a i ≤ 4;
对于 100% 的数据,保证 1 ≤ n ≤ 100000,1 ≤ a i ≤ 100000。
另外,我知道要用Md但我不是很会用,抱歉