View Code of Problem 5

#include<iostream>
#include<algorithm>
using namespace  std;
struct basket {
	int apple;
	int pear;
	int id;
};
bool cmp(basket a,basket b){
	
	if(a.apple==b.apple){
		return a.pear>b.pear;
	}
	else{
		return a.apple>b.apple;
	}
	
	
}
int main(){
	int t;
	
	scanf("%d",&t);
	int x;
	for(x=0;x<t;x++){
		int n,m;
		scanf("%d %d",&n,&m);
		basket arr[n];
		int i,j;
		for(i=0;i<n;i++){
			scanf("%d %d",&arr[i].apple,&arr[i].pear);
			arr[i].id=i+1;
		}
		sort(arr,arr+n,cmp);
		
		for(i=0;i<m;i++){
			if(i==m-1)
				printf("%d",arr[i].id);
			else
				printf("%d ",arr[i].id);

		}
		printf("\n");
	}
	
	
	return 0;
} 

Double click to view unformatted code.


Back to problem 5