View Code of Problem 5

#include<cstdio>
#include<string>
#include<cstring>
#include<cstdlib>
#include<algorithm>
using namespace std;

struct nodes{
    int ap;
    int ba;
    int ip;
};

nodes node[200000];

bool cmp(nodes a,nodes b)
{
    if(a.ap!=b.ap)
        return a.ap > b.ap;
    else
        return a.ba > b.ba;
}

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",&node[i].ap,&node[i].ba);
            node[i].ip = i+1;
        }
            sort(node,node + n,cmp);
        for(int i = 0;i < m;i++)
        {
          printf("%d",node[i].ip);
          if(i != m -1)
                printf(" ");
        }
        printf("\n");
    }
}

Double click to view unformatted code.


Back to problem 5