#include <stdio.h>
int ans[1010];
int n,i,b,max,flag;
int main ()
{
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&b);
ans[b]++;
}
while(n)
{
max = 0;
for(i=0;i<=1000;i++)
if(ans[i]>max) max = ans[i],flag = i;
printf("%d %d\n",flag,max);
n -= max ;
ans[flag] = 0;
}
return 0;
}
其中for判断时为什么要用 i = 0 ? i =1 最够了啊。
最终结果为 TLE !