#include <iostream> #include <algorithm> using namespace std; typedef struct{int n,a,b;}f; bool cmp (f f1,f f2) { if (f1.a>f2.a)return true; if (f1.a<f2.a)return false; if (f1.b>f2.b)return true; if (f1.b<f2.b)return false; if (f1.n>f2.n)return true; if (f1.n<f2.n)return false; } int main() { std::ios::sync_with_stdio(false); int t,n,m; cin>>t; f G[100010]; while(t--){ cin>>n>>m; for(int i=0;i<n;i++){ G[i].n=i;cin>>G[i].a>>G[i].b; } sort(G,G+n,cmp); //for(int i=0;i<n;i++){ // cout<<G[i].n<<' '<<G[i].a<<' '<<G[i].b<<endl; //} for(int i=0;i<m;i++)if(i==m-1){ cout<<G[i].n+1; }else{ cout<<G[i].n+1<<' '; } cout<<endl; } return 0; } |
Double click to view unformatted code.