#include <iostream> #include <algorithm> #define LL int using namespace std; typedef struct Node{ int a; int b; int id; bool operator < (const Node &x)const{ return a>x.a; } }FF; FF array[100005]; int n,m,t,temp_a,temp_b,temp_id; int main(void){ cin>>t; while(t--){ cin>>n>>m; for(int i=1;i<=n;i++){ cin>>array[i].a>>array[i].b; array[i].id=i; } sort(array+1,array+n+1); for(int i=0;i<m;i++){ int key=1; while(array[key].id==0) key++; temp_a=array[key].a; temp_b=array[key].b; temp_id=array[key].id; for(int j=1;j<=n;j++){ if(array[j].a<temp_a) break; if(array[j].id!=0){ if(array[j].b>temp_b){ temp_id=array[j].id; temp_b=array[j].b; } if((array[j].b==temp_b)&&(array[j].id<temp_id)) temp_id=array[j].id; } } cout<<temp_id; if(i!=(m-1)) cout<<" "; for(int i=0;i<n;i++) if(array[i].id==temp_id){ array[i].id=0; break; } } cout<<endl; } return 0; } |
Double click to view unformatted code.