View Code of Problem 5

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
struct fun{
    int index;
    int a,b;
}fru[100005];
bool cmp(fun fr1,fun fr2)
{
    if(fr1.a==fr2.a) return fr1.b>fr2.b;
    else return fr1.a>fr2.a;
}
int main()
{
    int T,n,m;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d%d",&n,&m);
        for(int i=0;i<n;i++)
        {
            scanf("%d%d",&fru[i].a,&fru[i].b);
            fru[i].index=i+1;
        }
        sort(fru,fru+n,cmp);
        for(int i=0;i<m;i++)
        {
            printf("%d%c",fru[i].index,i==m-1?'\n':' ');
        }
    }
    return 0;
}

Double click to view unformatted code.


Back to problem 5