View Code of Problem 5

#include<iostream>
#include<algorithm>
using namespace std;
struct branket
{
	int no;
	int apple;
	int pear;
};
bool cmp(struct branket a, struct branket b)
{
	if(a.apple!=b.apple)	return a.apple>b.apple;
	else if(a.pear!=b.pear)	return a.pear>b.pear;
	else return a.no<b.no;
}
int main()
{
	int t,n,m,i;
	cin>>t;
	while(t--){
		struct branket a[100010];
		cin>>n>>m;
		for(i=0;i<n;++i){
			cin>>a[i].apple>>a[i].pear;
			a[i].no=i+1;
		}
		sort(a,a+n,cmp);
		for(i=0;i<m;++i){
			if(i==0)	cout<<a[i].no;
			else cout<<" "<<a[i].no;
		}
		cout<<endl;		
	}
	return 0;
}

//80

Double click to view unformatted code.


Back to problem 5