第33677题 程序题
查找数列中出现次数超过半数的主要成分

时间限制: 2 Sec 内存限制: 128 MB

题目描述

从金星探测器传回来一组测量数据,这是一个长度为N (1≤N≤1000000) 的整数数列,数列中的每个整数代表某一种化学成分 (相同的整数代表相同的化学成分)。 主要成分:指在包含的所有化学成分中比例超过一半(N/2的结果向下取整)的成分。现在要判断其是否有主要成分;如果有,其主要成分是哪一种?

例如: 当N=7,整数数列为1 2 3 2 2 1 2,其中成分2有4个,超过了7的一半 (7的一半向下取整为3) ,所以主要成分是2。 当N=6,整数数列为1 102 3131 1 102,其中的每一种成分都只有2个,未超过6的一半(6的一半为3),所以没有主要成分。

输入

第一行输入一个正整数N (1≤N≤1000000),表示数列长度 第二行输入N个整数 (1≤整数≤2000000000) ,每个整数表示一种化学成分,两个整数之间用一个空格隔开

输出

输出一行,如果存在主要成分,则输出代表主要成分的整数,否则,输出No

样例输入

7
1 2 3 2 2 1 2

样例输出

2
编辑模式
程序运行统计
暂无判题统计