2013cqf 2013-10-06 08:48:00
点我顶贴
收藏
删除
#include<iostream>
int k[10000];
int k1[10000];
inline int comp(const void * a, const void * b)
{
return *(int*)a - *(int*)b;
}
int main()
{
int a,b,c,d,e,begin,end,nu;
scanf("%d%d",&a,&b);
for(c=1;c<=a;c++)
scanf("%d",&k[c]);
for(c=1;c<=b;c++)
{
scanf("%d%d%d",&begin,&end,&nu);
e=begin;
for(d=1;e<=end;d++,e++)
k1[d]=k[e];
qsort(k1,end-begin+2, sizeof(int), comp);
printf("%d\n",k1[nu]);
}
return 0;
}
#1 zangfenziang@2013-10-06 08:48:00
31471
回复
删除
要用双关键字排序,也就是comp要改为:
struct dd{
int x,y;
}m[10000];
int comp(const void *a,const void *b)
{
struct dd *c=(struct dd*)a;
struct dd *d=(struct dd*)b;
if(c->x!=d->x){return(c->x-d->x);}
else{return(c->y-d->y);}
}