玩具
题号:NC217385
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

小g有很多士兵玩具,他喜欢将这些玩具放成一排,每个玩具有它的类型编号,有时他会将其中一段位置连续的玩具拿出来“击♂剑”。但是他喜欢均衡,如果他选出来的玩具中类型出现次数最多的玩具不唯一,那么他就会很开心。比如说[1,1,2,2,3],出现次数最多的是类型1和类型2的玩具,他会很开心。


与此同时,他希望能够选出令他高兴的这一段的长度越长越好,他会选那些最长符合条件的连续段,这样的段可能不止一个,其中每一段都有它的出现次数最多的玩具类型,你只需要输出他选择的任意一段中的出现次数最多的玩具类型中任意的一种。

输入描述:

第一行一个数,代表玩具的个数。

第二行有个数,每个数,代表着每个玩具的类型。

输出描述:

输出一个数,它得满足题目条件,如果找不到输出-1。
示例1

输入

复制
5
1 1 3 2 2

输出

复制
1

说明

[1,3],[3,2],[1,3,2]和[1,1,3,2,2]都是符合条件的连续段,但是其中长度最长的是[1,1,3,2,2]的情况,其中1和2出现次数都最多,所以可以输出1或2。
示例2

输入

复制
3
1 1 1

输出

复制
-1

说明

找不着一个符合条件的子串,输出-1。
示例3

输入

复制
5
2 1 1 1 3

输出

复制
3

说明

[2,1],[1,3]都是符合条件的连续段,两个都是长度最长的,第一段中1和2出现次数都最多,第二段中2和3出现次数都最多。所以可以输出1或2或3。