#include using namespace std; vector minimumZooNumbers(int m, int n, vector t, vector s, vector d) { // Return a list of length n consisting of the answers vector answers(n,-1); for(int i= 0;i, vector> zoomap; for(int i=0;ifirst).first; for(map, vector>::iterator it = zoomap.begin(); it!=zoomap.end();++it) { int ec = count((it->second).begin(), (it->second).end(), 'E') + count((it->second).begin(), (it->second).end(), 'C'); int dm = count((it->second).begin(), (it->second).end(), 'D') + count((it->second).begin(), (it->second).end(), 'M'); int personalCount = ec>dm?ec:dm; if(personalCountfirst).secondfirst).first; rangeEnd = (it->first).first; } for(int i= 0;i=0;i--) { if(answers[i]==-1) answers[i] = currentVal; else currentVal = answers[i]; } return answers; } int main() { int cases; cin >> 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; }