https://www.luogu.org/problemnew/show/P1407
题目描述
有一家世界级大企业,他们经过调查,发现了一个奇特的现象,竟然在自己的公司里,有超过一半的雇员,他们的工资完全相同!
公布了这项调查结果后,众多老板对于这一现象很感兴趣,他们发现在自己的公司也存在有这样的现象——超过一半的雇员工资都是x。老板们都很想知道这个x是多少,请你帮忙计算一下。
输入输出格式
输入格式:
输入:(gold.in)
第一行输入一个t,表示有t家公司找你帮忙判断。
之后t行,第i行的第一个数字为Ai表示第i个公司的雇员数,之后Ai个数字表示雇员的工资。
输出格式:
输出:(gold.out)
共输出t行,第i行表示第i个公司的x。(如题意表述)
输入输出样例
说明
数据范围:
t<=10,且员工的资产是10^9以内的非负整数。
70%数据满足Ai<=1000
100% 数据满足Ai<=1000000内存限制 1MB
因为满足存在半数以上的ai,所以一定会出现连续的ai,且在区间[1,n]中cnt[ai]>n/2(废话。。)
1 #include <cstdio> 2 3 inline void read(int &x) 4 { 5 x=0; register char ch=getchar(); 6 for(; ch>'9'||ch<'0'; ) ch=getchar(); 7 for(; ch>='0'&&ch<='9'; ch=getchar()) x=x*10+ch-'0'; 8 } 9 10 int Presist() 11 { 12 int t,n,ans; 13 read(t); 14 for(int cnt,now; t--; ) 15 { 16 cnt=0; read(n); 17 for(int i=1; i<=n; ++i) 18 { 19 read(now); 20 if(!cnt) ans=now; 21 if(ans==now) cnt++; 22 else cnt--; 23 } 24 printf("%d\n",ans); 25 } 26 return 0; 27 } 28 29 int Aptal=Presist(); 30 int main(int argc,char**argv){;}