View Code of Problem 5

#include<cstdio>
#include<algorithm>
 
using namespace std;
     
struct nodes{
    int ap, ba, ip;
}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");
    }
    return 0;
}

Double click to view unformatted code.


Back to problem 5