View Code of Problem 5

#include <stdio.h>
int Max(int a[],int b[], int n) {
    int i, max;
    max = 0;
    for (i = 0; i < n; i++) {
        if (a[i] > a[max]||(a[i]==a[max] && b[i]>b[max]))
            max = i;
    }
    return max;
}
int main(void) {
    int i, t, n, m, max,a[100000], b[100000];
    scanf("%d", &t);
    while (t--) {
        scanf("%d %d", &n, &m);
        max=0;
        for (i = 0; i < n; i++){
            scanf("%d %d", &a[i], &b[i]);
        }
        for (i = 0; i < m; i++) {
            if (i == m - 1)
                printf("%d", Max(a,b, n) + 1);
            else
                printf("%d ", Max(a,b, n) + 1);
            a[Max(a,b, n)] = -1;
        }
        printf("\n");
    }
}

Double click to view unformatted code.


Back to problem 5