#include using namespace std; class Animal{ public: char type; int source; int dest; public: Animal(char t, int s, int d){ this->type = t; this->source = s; this->dest = d; } friend bool operator<(const Animal& a1 , const Animal& a2) { return (a1.source < a2.source)||(a1.source==a2.source && a1.dest < a2.dest); } }; bool isCompatible(Animal a1, Animal a2){ if(a1.dest > a2.source){ if((a1.type == 'D' && a2.type == 'E')||(a1.type == 'E' && a2.type == 'D')) return false; else if((a1.type == 'D' && a2.type == 'C')||(a1.type == 'C' && a2.type == 'D')) return false; else if((a1.type == 'M' && a2.type == 'C')||(a1.type == 'C' && a2.type == 'M')) return false; else if((a1.type =='M' && a2.type == 'E')||(a1.type == 'E' && a2.type == 'M')) return false; } return true; } vector minimumZooNumbers(int m, int n, vector t, vector s, vector d) { vector animaux; for(int i=0;i ans(n); int a; ans[0] = animaux[0].dest; for(int i=1;i selected; selected.push_back(animaux[start]); index = start+1; while(index < n && count> cases; for(int a0 = 0; a0 < cases; a0++){ int m; int n; cin >> m >> n; vector t(n); for(int t_i = 0; t_i < n; t_i++){ cin >> t[t_i]; } vector s(n); for(int s_i = 0; s_i < n; s_i++){ cin >> s[s_i]; } vector d(n); for(int d_i = 0; d_i < n; d_i++){ cin >> d[d_i]; } vector result = minimumZooNumbers(m, n, t, s, d); for (ssize_t i = 0; i < result.size(); i++) { cout << result[i] << (i != result.size() - 1 ? " " : ""); } cout << endl; } return 0; }