#include <iostream> #include <sstream> #include <stdio.h> #include <string> #include <math.h> #include <algorithm> #include <stdlib.h> #include <stack> #include <map> #include <set> #include <queue> using namespace std; struct node { int apple; int li; int index; }; bool cmp(node a,node b) { if(a.apple!=b.apple) return a.apple>b.apple; else return a.li>b.li; } int main() { #ifdef ONLINE_JUDGE #else freopen("1.txt","r",stdin); #endif int k; cin>>k; while(k--) { int n,m; cin>>n>>m; node Node[n+1]; for(int i=0;i<n;i++) { cin>>Node[i].apple>>Node[i].li; Node[i].index=i+1; } sort(Node,Node+n,cmp); for(int i=0;i<m;i++) { cout<<Node[i].index; if(i<m-1) cout<<" "; } if(k>0) cout<<endl; } return 0; } |
Double click to view unformatted code.