当前位置: 代码迷 >> 综合 >> Tyvj P3680 找妹子
  详细解决方案

Tyvj P3680 找妹子

热度:1   发布时间:2023-12-13 18:51:24.0

描述
sps是zzq的好伙伴。
sps一天叫来了许多个妹子。然后sps看了看这些妹子,说了m个数。这m个数中出现次数最多的数就是sps最喜欢的妹子的编号。因为sps非常专一,他最喜欢的妹子的编号出现的次数大于m的一半。
你自然想知道一下sps最喜欢哪个妹子。
m<=1000000。m个数均在int范围内的正数。
注意看时空限制!
输入格式
第一行一个数m。
第二行m个数。
输出格式
输出出现次数最多的数。
备注
空间1.2MB,连m个数都存不下。
样例输入:
8
2 3 3 2 3 3 2 3
样例输出:
3


由于答案一定是大于n/2的,所以,记一个ans,cnt如果相同,cnt++。不同,cnt–。ans一定是答案。


#include<iostream>
#include<cstdio>
using namespace std;
int n,ans,cnt;
int main()
{scanf("%d",&n);int x;for(int i=1;i<=n;i++){scanf("%d",&x);if(x!=ans){cnt--;if(cnt<0){ans=x;cnt=1;}}elsecnt++;}printf("%d\n",ans);return 0;
}