View Code of Problem 5

#include<cstdio>
#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
#define N 100
using namespace std;
struct lanzi
{
	int apple;
	int lizi;
	int num;
};
bool cmp(lanzi a,lanzi b)
{
	if(a.apple!=b.apple)
		return a.apple>b.apple;
	else 
		return a.lizi>b.lizi;
}
int main()
{
	int t;
	scanf("%d",&t);
	while(t--){
	    int n,m;
	    scanf("%d%d",&n,&m);
	    struct lanzi lz[100001];
	    for(int i=0;i<n;i++)
	    {
	    	scanf("%d%d",&lz[i].apple,&lz[i].lizi);
	    	lz[i].num=i;
		}
	    sort(lz,lz+n,cmp);
	    for(int i=0;i<m;i++)
		{
			printf("%d",lz[i].num+1);
			if(i<m-1)
				printf(" ");
		} 
	    printf("\n");
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 5