View Code of Problem 5

#include<iostream>
using namespace std;
#include<algorithm>
struct basket
{
	int anum;
	int bnum;
	int pos;
};
bool compare(basket b1,basket b2)
{
	if(b1.anum!=b2.anum)
	{
		return b1.anum>b2.anum;
	}
	else 
	{
		if(b1.bnum!=b2.bnum)
		{
			return b1.bnum>b2.bnum;
		}
		else 
		{
			return b1.pos<b2.pos;
		}
	}
}
int main()
{
	int t,n,m;
	cin>>t;
	while(t--)
	{
		cin>>n>>m;
		basket bas[n];
		for(int i=0;i<n;i++)
		{
			cin>>bas[i].anum>>bas[i].bnum;
			bas[i].pos=i;
		}
		sort(bas,bas+n,compare);
		for(int i=0;i<m;i++)
		{
			cout<<bas[i].pos+1;
			if(i<m-1)
			{
				cout<<" ";
			}
		}
		cout<<endl;
	}
}

Double click to view unformatted code.


Back to problem 5