View Code of Problem 5

#include<stdio.h>
#include<stdlib.h>
typedef struct{
	int apple;
	int pear;
	int w;//位置 
}data;
int cmp(const void *a,const void *b){
	return (*(data*)b).apple-(*(data*)a).apple;
}

int cmp2(const void *a,const void *b){
	return (*(data*)b).pear-(*(data*)a).pear;
}
data x[150000];

int main(){
	int t,n,m,i;
	scanf("%d",&t);
	while(t>0){
		scanf("%d %d",&n,&m);
		for(i=0;i<n;i++){
			scanf("%d %d",&x[i].apple,&x[i].pear);
			x[i].w=i+1;
		}

		qsort(x,n,sizeof(data),cmp2);
		qsort(x,n,sizeof(data),cmp);

		for(i=0;i<m-1;i++)
			printf("%d ",x[i].w);
		printf("%d\n",x[i].w);
		t--;
	}
}

Double click to view unformatted code.


Back to problem 5