| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
WA的看一下如此的水题竟然还错,脑残了。
错在这一组了
2 4
1 1 2 2
2 2 3 3
我用了一个sort一个qsort,使用了结构体
附代码,
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
using namespace std;
struct ld
{
int x,y;
}b[250005];
int cmp(const void *elem1,const void *elem2)
{
struct ld *c=(struct ld *)elem1;
struct ld *d=(struct ld *)elem2;
if(c->x==d->x)
return d->y-c->y;
return c->x-d->x;
}
int main()
{
int a[250005];
int i,k,j,s,rem,t,g;
while(scanf("%d%d",&i,&j)&&(i||j))
{
memset(b,0,sizeof(b));
memset(a,0,sizeof(a));
s=i*j;
for(k=0;k<s;k++)
scanf("%d",&a[k]);
sort(a,a+k);
rem=1;g=0;
for(k=1;k<s;k++)
{
if(a[k-1]!=a[k])
{
b[g].x=rem;
b[g].y=a[k-1];
g++;
rem=1;
}
else
rem++;
}
if(a[k-1]!=a[k-2])
{
b[g].x=1;
}
else
{
b[g].x=rem;
}
b[g].y=a[k-1];
g++;
qsort(b,g,sizeof(b[0]),cmp);
t=b[g-1].x;
for(i=g-2;i>=0;i--)
if(b[i].x!=t)break;
printf("%d ",b[i].y);
t=b[i].x;
for(i--;i>=0;i--)
{
if(b[i].x!=t)
break;
printf("%d ",b[i].y);
}
printf("\n");
}
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator