fork download
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. class jentry {
  6. public:
  7. string name;
  8. int index;
  9. int age;
  10. };
  11.  
  12. bool mycomparision(jentry &e1, jentry &e2) {
  13. if(e1.age != e2.age) {
  14. return e1.age < e2.age;
  15. } else if(e1.name.compare(e2.name) != 0) {
  16. return e1.name.compare(e2.name) < 0;
  17. } else {
  18. return e1.index < e2.index;
  19. }
  20. }
  21.  
  22. int main()
  23. {
  24. int t;
  25. cin>>t;
  26. while(t--) {
  27. int n,m;
  28. deque<jentry> d;
  29. cin>>n>>m;
  30. for(int i=0;i<n;i++) {
  31. jentry e;
  32. cin>>e.name>>e.age;
  33. e.index=i;
  34. d.push_back(e);
  35. }
  36. vector<jentry> v;
  37. for(int i=0;i<m;i++) {
  38. if(mycomparision(d.front(),d.back())) {
  39. v.push_back(d.front());
  40. d.pop_front();
  41. } else {
  42. v.push_back(d.back());
  43. d.pop_back();
  44. }
  45. }
  46. sort(v.begin(),v.end(),mycomparision);
  47. for(jentry e:v) {
  48. cout<<e.index<<' ';
  49. }
  50. cout<<'\n';
  51. }
  52. return 0;
  53. }
Success #stdin #stdout 0s 15248KB
stdin
3
4 3
kaustubh 32
anshul 56
ravindra 22
rajeev 35
3 3
a 21
c 21
b 21
4 2
taylor 65
shawn 67
kim 35
kim 35
stdout
2 0 3 
0 2 1 
2 3