View Code of Problem 5

#include <bits/stdc++.h>
#include <algorithm>
using namespace std;
typedef struct {
	int apple;
	int pear;
	int id;
}Fruit;
int t,m,n;
Fruit fruit[100005];

int cmp(Fruit a,Fruit b) {
	if(a.apple!=b.apple)	return a.apple>b.apple;
	if(a.pear!=b.pear) 		return a.pear>b.pear;
	return a.id<b.id;
}
int  main()
{
	cin>>t;
	while(t--) {
		cin>>n>>m;
		for(int i=0;i<n;i++) {
			cin>>fruit[i].apple>>fruit[i].pear;
			fruit[i].id = i+1;
		}
		
		sort(fruit,fruit+n,cmp);
		
		for(int i=0;i<m;i++) {
			if(i<m-1) 
				cout<<fruit[i].id<<" ";
			else 
				cout<<fruit[i].id<<endl;
		}
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 5