#include<iostream> #include<algorithm> using namespace std; struct Node{ int id; int apple; int pear; }; bool cmp(Node a,Node b){ if(a.apple!=b.apple){ return a.apple>b.apple; }else if(a.apple==b.apple){ return a.pear>b.pear; }else if(a.pear==b.pear){ return a.id<b.id; } } int main(){ int t; cin>>t; while(t--){ int n,m; scanf("%d %d",&n,&m); Node node[n]; for(int i=0;i<n;i++){ scanf("%d %d",&node[i].apple,&node[i].pear); node[i].id=(i+1); } sort(node,node+n,cmp); for(int j=0;j<m;j++){ printf("%d",node[j].id); if(j!=m-1){ printf(" "); } } cout<<endl; } return 0; } |
Double click to view unformatted code.