View Code of Problem 5

#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;

struct node{
    int id;
    int a, b;
}N[100005];
 bool cmp(node n1, node n2) {
    if(n1.a != n2.a) {
        return n1.a > n2.a;
    }
    else{
        return n1.b > n2.b;
    }
 }
int main() {
    int t;
    int n, m;
    scanf("%d", &t);
    while(t--) {
        scanf("%d%d", &n, &m);
        for(int i = 0; i < n; i++) {
            scanf("%d%d", &N[i].a, &N[i].b);
            N[i].id = i + 1;
        }
        sort(N, N + n, cmp);
        for(int i = 0; i < m; i++) {
            printf("%d", N[i].id);
            if(i < m - 1) printf(" ");
            else printf("\n");
        }
    }
    return 0;
}

Double click to view unformatted code.


Back to problem 5