bzoj2456

题解:

真是一道坑比题

首先,看到n<=50万,排序+输出

然后发现T了,原来只有1M

然后发现出现的次数超过n/2,所以我们可以把没一个数和上一个抵销,剩下的就是

然后发现MLE

后来把include<bits/stdc++.h>改成include<cstdio>就过了

代码:

#include<cstdio>
using namespace std;
int n,tot,x,last;
int main()
{
    scanf("%d",&n);
    for (int i=1;i<=n;i++)
     {
         scanf("%d",&x);
         if (x==last)tot++;
         else if (!tot)last=x,tot=1;
         else tot--;
     }
    printf("%d",last); 
}
原文地址:https://www.cnblogs.com/xuanyiming/p/8569185.html