#include<iostream> #include<algorithm> using namespace std; struct node{ int apple; int pear; int order; }; node fruit[1000004]; bool cmp(const node &m, const node &n){ return m.apple==n.apple?m.pear>n.pear:m.apple>n.apple; } int main(void){ int T; cin >> T; while(T--){ int n,m; cin >> m >> n; for(int i=1;i<=m;i++){ fruit[i].order=i; cin >> fruit[i].apple >> fruit[i].pear; } sort(fruit+1,fruit+m+1,cmp); for(int i=1;i<=n;i++){ cout << fruit[i].order; if(i!=n){ cout << ' '; } } cout << endl; } } |
Double click to view unformatted code.