#include<bits/stdc++.h> using namespace std; typedef long long ll; struct fruit{ int apple; int pear; int p; }f[100010]; bool cmp(fruit a, fruit b){ if(a.apple==b.apple&&a.pear==b.pear) return a.p<b.p; else if(a.apple==b.apple) return a.pear>b.pear; else return a.apple>b.apple; } 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", &f[i].apple, &f[i].pear); f[i].p = i+1; } sort(f, f+n, cmp); for(int i = 0;i < m;i++){ if(i>0) printf(" "); printf("%d", f[i].p); } printf("\n"); } return 0; } |
Double click to view unformatted code.