//----fishman@Willian #include<iostream> #include<cstdio> #include<string> #include<cstring> #include<algorithm> #include<queue> #include<stack> #include<set> #include<map> using namespace std; typedef long long ll; typedef unsigned long long ull; const int maxn=100005; struct Fruit{ int ord,ap,pr; }; Fruit a[maxn]; bool cmp(Fruit a,Fruit b){ if(a.ap!=b.ap)return a.ap>b.ap; return a.pr>b.pr; } int main() { int t; cin>>t; while(t--){ int n,m; cin>>n>>m; for(int i=0;i<n;++i){ cin>>a[i].ap>>a[i].pr; a[i].ord=i+1; } stable_sort(a,a+n,cmp); for(int i=0;i<m;++i){ cout<<a[i].ord; if(i!=m-1)cout<<" "; } cout<<endl; } return 0; } |
Double click to view unformatted code.