View Code of Problem 5

#include <bits/stdc++.h>
#define N 1000
using namespace std;
struct SG
{
	int ap;
	int lz;
	int flag;
};
bool cmp(SG a,SG b)
{
	if(a.ap!=b.ap)
		return a.ap>b.ap;
	else
		return a.lz>b.lz;
}
int main() 
{
	int t;
	cin>>t;
	while(t--)
	{
		int n,m,i;
		cin>>n>>m;
		struct SG sg[n];
		for(i=0;i<n;i++)
		{
			cin>>sg[i].ap>>sg[i].lz;
			sg[i].flag=i;
		}
		sort(sg,sg+n,cmp);
		for(i=0;i<m;i++)
		{
			cout<<sg[i].flag+1;
			if(i<m-1)
				cout<<" ";
		}
		cout<<endl;
	}	
}

Double click to view unformatted code.


Back to problem 5