View Code of Problem 5

#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<iostream>
#include<math.h>
#include<vector> 
using namespace std;

struct basket{
	int a,b,no;
}Ba[100005];

bool cmp(basket a,basket 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.no<b.no;
	
}

int main()
{
	int t,n,m,i,j,k;
	scanf("%d",&t);
	while(t)
	{
		scanf("%d %d",&n,&m);
		for(i=0;i<n;i++)
		{
			scanf("%d %d",&Ba[i].a,&Ba[i].b);
			Ba[i].no=i; 
		} 
		sort(Ba,Ba+n,cmp);
		for(i=0;i<m;i++)
		{
			if(i!=0) printf(" %d",Ba[i].no+1);
			else printf("%d",Ba[i].no+1);
		}
		t--;
		printf("\n");
	}
	return 0;
} 	
	

	
	

Double click to view unformatted code.


Back to problem 5