巨坑,一開始看了下榜就覺得這道是用數組計數,但是沒給數據範圍只能險些一個正常的果然超時,然後計數又wa
以下是wa的代碼,引以爲戒
#include<stdio.h>
int a[999999];
int main()
{
int n;
while (scanf("%d",&n)!=EOF)
{
int i,t;
memset(a,0,sizeof(a));
for (i=1;i<=n;i++)
{
scanf("%d",&t);
a[t]++;
if (a[t]>=(n+1)/2) {printf("%d %d\n",t,i);break;}
}
}
}
AC代碼#include<stdio.h>
int a[999999];
int main()
{
int n;
while (scanf("%d",&n)!=EOF)
{
int i,t,x;
memset(a,0,sizeof(a));
for (i=1;i<=n;i++)
{
scanf("%d",&t);
a[t]++;
if (a[t]>=(n+1)/2) x=t;
}
printf("%d\n",x);
}
}
WA的把一組數據直接拆了兩組輸出了兩個啊woc