这道题我不会……看题解才会。
刚开始一看,这不是水题吗?后来发现根本不是……空间只有1MB啊啊啊!
于是看了题解,记录一下当前出现最多的数和比剩余的数多多少个就行了,具体看代码吧。
//BZOJ2456
#include<cstdio>
using namespace std;
int n,now,tms=1,p;
int main()
{
scanf("%d",&n);
scanf("%d",&now);
for(int i=1;i<n;i++)
{
scanf("%d",&p);
if(p==now) tms++;
else if(tms>1) tms--;
else now=p;
}
printf("%d\n",now);
return 0;
}