View Code of Problem 5

#include<bits/stdc++.h>
using namespace std;
struct A{
	int num;
	int a;
	int b;
}k[100001];
bool cmp(A a,A b){
	if(a.a!=b.a)return a.a>b.a;
    else{
    	if(a.b!=b.b) return a.b>b.b;
		else return a.num<b.num;
    }	
}			
int main(){
	int t;
	int m,n;
	cin>>t;
	while(t--){
		cin>>n>>m;
		for(int i=0;i<n;i++){
			k[i].num=i+1;
			cin>>k[i].a>>k[i].b;
			
		}
		sort(k,k+n,cmp);
		for(int i=0;i<m;i++){
			if(i!=m-1)
			cout<<k[i].num<<" ";
			else cout<<k[i].num;
		}
		cout<<endl;
	}
	
	
	return 0;
} 

Double click to view unformatted code.


Back to problem 5