BZOJ 2456 mod

Posted on 2015-12-14 19:45  ziliuziliu  阅读(124)  评论(0编辑  收藏  举报

又见神TM卡内存题。这道题是要求众数。

怎么求呢?首先这道题要求众数的个数大于一半,因此我们读入一个,如果和rec不一样就cnt--。如果cnt<=0了,则更新rec为当前数。

听起来很有问题?其实这玩意儿是没问题的。。。然而交上去还是mle掉。

为什么呢?库函数要占内存。

。。。。。。。。。WTF

#include<cstdio>
using namespace std;
int n,cnt,a,rec=0;
int main()
{
scanf("%d",&n);
while (n)
{
n--;
scanf("%d",&a);
if (a==rec) cnt++;
else
{
cnt--;
if (cnt<0) {rec=a;cnt=1;}
}
}
printf("%d",rec);
return 0;
}