#Q1001. 小鱼吃大鱼(题目加强版)

小鱼吃大鱼(题目加强版)

题目来源:OIClass

本题目 加强题目,题目范围进行修改,原标程可能无法通过!

问题描述

PP 同学在养殖一种非常凶狠的鱼,而且与其他鱼类不同,这种鱼越大越温顺,反而小鱼最凶残。当两条鱼相遇时,小鱼会不断撕咬大鱼,每一口都咬下与它自身等重的肉(小鱼保持体重不变),直到大鱼的体重小于这条小鱼(若两条鱼体重相同,一条鱼会将另一条撕咬殆尽)。

现在池塘中有 nn 条鱼,小 PP 想知道哪一对鱼相遇后,被咬的鱼剩余体重最大。

输入格式

第一行包含一个整数 nn,表示鱼的数量。(1n2e6(1 \le n \le 2e6)

第二行有 nn 个用空格分开的整数 aia_i 表示第 ii 条鱼的体重。(1ai1e61 \le a_i \le 1e6)

输出格式

输出一个整数代表结果。

3
3 4 5
2
2
2 2
0
5
2 1 4 3 5
2

样例解释

当三条鱼的体重分别为 3 4 53\ 4\ 5 时,不同对鱼相遇的结果分别是 {3,4}=1 {3,5}=2 {4,5}=1\{3,4\}=1\ \{3,5\}=2\ \{4,5\}=1,所以只有第一条跟第三条鱼相遇时,最后大鱼的体重最大,结果为 22

数据范围

对于 35%35\% 的数据,1n10,1ai1001\le n\le 10,1\le a_i \le 100

对于 100%100\% 的数据,1n20000,1ai1e181\le n\le 20000,1\le a_i \le 1e18