这个题求大神帮我看看我的代码哪出错了,case率才百分之10,案例通过了,想了好久不知道哪错了,思路就是令重复的数为-1,去重,然后insertion sort,比大小。
#include<stdio.h>
int main(){ long a,b[200100];
int c[200100]={0},i,j,temp=0;
scanf("%ld",&a);
for(i=0;i<a;i++)
{
scanf("%d\n",&b[i]);
}
for(i=0;i<a;i++)
{
for(j=i+1;j<=a-1;j++)
{
if(b[i]==b[j]&&b[i]!=-1)
{
c[i]++;
b[j]=-1;
}
if(b[i]>b[j]&&b[j]!=-1)
{
temp=b[i];
b[j]=b[i];
b[i]=temp;
temp=c[i];
c[i]=c[j];
c[j]=temp;
}
}
}
for(int k=0;k<a;k++)
{
if(b[k]!=-1)
{
printf("%d %d\n",b[k],c[k]+1);
}
}
return 0;
}
全部评论
(4) 回帖