View Code of Problem 5

#include<stdio.h>
#include<string.h>
#include <stdio.h>
#include <math.h>
#include <algorithm>
 using namespace std;
 struct element{
    int li;
    int pg;
    int id;
} q[10005];
int cmp(element q,element p){
    if(q.pg!=p.pg)
        return q.pg>p.pg;
    if(q.li!=p.li)
        return q.li>p.li;
    return q.id>q.id;
}

int main(){
    int n,i,j,a,b;
    scanf("%d",&n);
    while(n-->0){
        scanf("%d %d" ,&a ,&b );
        for(i=0;i<a;i++){
            scanf("%d",&q[i].pg);
            scanf("%d",&q[i].li);
            q[i].id=i;
        }
        sort(q,q+a,cmp);
        for(i=0;i<b;i++){
            printf("%d ",q[i].id+1);
        }
    }
    return 0;
}

Double click to view unformatted code.


Back to problem 5