用到了什么摩尔投票法233
另外,这题可以明显看出scanf、cin、快读的时间差别。
代码:
#include<stdio.h>
#define max(a, b) (a > b ? a : b)
int read() {
int w = 0, r = 0; char ch = getchar();
while (ch < '0' || ch >'9')w |= ch == '-', ch = getchar();
while (ch >= '0' && ch <= '9')r = (r << 1) + (r << 3) + (ch ^ 48), ch = getchar();
return w ? ~r + 1 : r;
}
int n, sum, tab;
int main() {
n = read();
for (int i = 1; i <= n; i++) {
int p = read();
if (sum == 0) {
tab = p; sum++;
}
else if (sum != 0 && p != tab) {
sum--;
}
else if (sum != 0 && p == tab) {
sum++;
}
}
printf("%d", tab);
}