View Code of Problem 5

#include<stdio.h>
struct fruit{
	int mark;
	int apple;
	int pear;
};
 struct fruit fruits[100000];
void InsertSort(int n){
 struct	fruit temp;
	int i,j;
	for(i=0;i<n-1;i++){
		for(int j=n-1;j>i;j--){
			if(fruits[j].apple > fruits[j-1].apple){
				temp = fruits[j];
				fruits[j]=fruits[j-1];
				fruits[j-1]=temp;
			}
			else if(fruits[j].apple == fruits[j-1].apple){
				if(fruits[j].pear>fruits[j-1].pear){
					temp = fruits[j];
					fruits[j]=fruits[j-1];
					fruits[j-1]=temp;
				}
			}
		}
	} 
}
int main(){
	int t,m,n;
	scanf("%d",&t);
	while(t){
		scanf("%d %d",&n,&m);
		for(int i = 0;i <n;i++){
			scanf("%d %d",&fruits[i].apple,&fruits[i].pear);
			fruits[i].mark=i+1;
		}
	    InsertSort(n);
	    for(int j=0;j<m;j++){
	    	if(j==m-1){
	    		printf("%d\n",fruits[j].mark);
			}
			else{
		    	printf("%d ",fruits[j].mark);
			} 
		}
		t--;
	}
	return 0;
} 

Double click to view unformatted code.


Back to problem 5