#include <stdio.h> typedef struct node{ int apple,pear,index; }fruit; int comp(fruit* a,fruit* b) { if(a->apple == b->apple) return b->pear - a->pear; return b->apple - a->apple; } int main(void) { int t,n,m; scanf("%d",&t); while(t--) { while(scanf("%d%d",&n,&m) != EOF) { int i; fruit ft[100000]; for(i = 0;i < n;i++) { ft[i].index = i; scanf("%d%d",&ft[i].apple,&ft[i].pear); } qsort(ft,n,sizeof(fruit),comp); for(i = 0;i < m;i++) { if(i == m - 1) printf("%d\n",ft[i].index + 1); else printf("%d ",ft[i].index + 1); } } } return 0; } |
Double click to view unformatted code.